• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
دادن امکان انتخاب به مدبر بعد از واکشی رکورد ها از جدول
#1
با سلام اساتید من چند روزیه که بدجور درگیر این مسئله شدم ولی هنوز هم به جایی نرسوندم
من دارم یه سری اطلاعاتو از دیتابیس میکشم بیرون مثلا 5 رکوردو کشیدم بیرون
رکورد اول:1 2 3 4 5 6
رکورد دوم:1 2 3 4 5 6
رکورد سوم:1 2 3 4 5 6
رکورد جهارم:1 2 3 4 5 6
رکورد پنجم:1 2 3 4 5 6
همه این کارها به نحو احسن انجام میشه ولی حالا میخوام به مدیر این امکانو بدم که از بین این رکوردهای موجود مثلا به تعداد دلخواه رو انتخاب کنه و اونارو با زدن دکمه ای اون رکورد مورد نظرو توی یه دیتابیس مجزا ذخیره کنه.[size=large] مثلا 3 تا از اینهارو با تیک انتخاب کرد و دکمه ثبت رو زد و اون رکوردها در دیتابس ذخیره شدند
چنتا مسئله رو امتحان کردم مثلا با چک باکس که نتونستم فیلدهارو برای ذخیره به جدول ارسال کنم
ممنون میشم از اساتید محترم که در این باره راهنمایی و کمک بکنن.ممنون از شما
یا علی
  پاسخ
تشکر شده توسط :
#2
با سلام،
خب قاعدتا باید با چک‌باکس این کار رو انجام داد، شما توضیح بدین چیکار کردین، مشکل کجا بوده تا ما راهنمایی کنیم.
غایب
  پاسخ
تشکر شده توسط : kasbookar
#3
دوست عزیز هدفتون از ذخیره یک رکورد چند بار چیه؟ این باعث افزونگی میشه.
این هم کد:
کد html:
کد پی‌اچ‌پی:
<form method='post'
<
table>
<
tr><td><input type='checkbox' name='checkboxvar[]' value='1'>Record One</td></tr>
<
tr><td><input type='checkbox' name='checkboxvar[]' value='2'>Record Two</td></tr>
<
tr><td><input type='checkbox' name='checkboxvar[]' value='3'>Record Three</td></tr>
</
table>
<
input type='submit' class='buttons'>
</
form
کد php:
کد پی‌اچ‌پی:
if(isset($_POST['checkboxvar']) && is_array($_POST['checkboxvar']) )
    foreach(
$_POST['checkboxvar'] as $row)
        
function_copy_rows($row); 

درج mysql:
کد پی‌اچ‌پی:
INSERT INTO database2.table SELECT FROM database1.table WHERE id 123 NOT IN(SELECT id FROM database2.table); 
به یـزدان که گر ما خرد داشتیم
کجـا این سر انجـام بد داشتیم؟
  پاسخ
تشکر شده توسط : kasbookar
#4
(۱۳۹۳ بهمن ۲۱, ۱۱:۰۳ ق.ظ)sara147 نوشته: دوست عزیز هدفتون از ذخیره یک رکورد چند بار چیه؟ این باعث افزونگی میشه.
این هم کد:
کد html:
کد پی‌اچ‌پی:
<form method='post'
<
table>
<
tr><td><input type='checkbox' name='checkboxvar[]' value='1'>Record One</td></tr>
<
tr><td><input type='checkbox' name='checkboxvar[]' value='2'>Record Two</td></tr>
<
tr><td><input type='checkbox' name='checkboxvar[]' value='3'>Record Three</td></tr>
</
table>
<
input type='submit' class='buttons'>
</
form
کد php:
کد پی‌اچ‌پی:
if(isset($_POST['checkboxvar']) && is_array($_POST['checkboxvar']) )
    foreach(
$_POST['checkboxvar'] as $row)
        
function_copy_rows($row); 

درج mysql:
کد پی‌اچ‌پی:
INSERT INTO database2.table SELECT FROM database1.table WHERE id 123 NOT IN(SELECT id FROM database2.table); 
من دارم روی یه سیستم خبرخوان کار میکنم که حجم انبوهی از خبرها توش میباشد میخوام که مدیر بتونه چنتا از اخبار رو به انتخاب خودش در صفحه اصلی نشون بده همین
اگر دوستان راه حل دیگه ای بعد این دارن لطف کنید بگید و راهنمایی کنید چون دیگه واقعا نمیدونم چیکار کنم

ممنون از بابت کد میشه یه توضیح کوچیک درباره نحوه کار کد دقیق بدید
ممنون
  پاسخ
تشکر شده توسط :
#5
خب معمولا در این موردها بر اساس یه شرط، سطرهای جدول اتوماتیک انتخاب میشه. مثلا آخرین رکوردهای درج شده، پر بازدیدترین اونها، محبوب ترین و ... که مزیت اینکار اینه که این لیست پویا میشه و هر وقت شما رکورد جدیدی اضافه کردین لیست هم تغییر میکنه.
ولی برای این روشی که میخواهید پیاده سازی کنید چندتا راه هست:
1.گذاشتن یه فیلد فلگ در جدول برای مشخص کردن سطرهای انتخابی.
2.یه جدول دیگه که فقط id سطرهای انتخابی رو ذخیره میکنه.

کجای کد منظورتونه؟
به یـزدان که گر ما خرد داشتیم
کجـا این سر انجـام بد داشتیم؟
  پاسخ
تشکر شده توسط :
#6
(۱۳۹۳ بهمن ۲۱, ۰۲:۱۹ ب.ظ)sara147 نوشته: خب معمولا در این موردها بر اساس یه شرط، سطرهای جدول اتوماتیک انتخاب میشه. مثلا آخرین رکوردهای درج شده، پر بازدیدترین اونها، محبوب ترین و ... که مزیت اینکار اینه که این لیست پویا میشه و هر وقت شما رکورد جدیدی اضافه کردین لیست هم تغییر میکنه.
ولی برای این روشی که میخواهید پیاده سازی کنید چندتا راه هست:
1.گذاشتن یه فیلد فلگ در جدول برای مشخص کردن سطرهای انتخابی.
2.یه جدول دیگه که فقط id سطرهای انتخابی رو ذخیره میکنه.

کجای کد منظورتونه؟
من اینطوری فک کنم بهتر باشه که مسئله به این شکل حل بشه همونطور که شما فرمودید با یه فلق اول مقدار id رو بگیریم از دیتابیس و بعد بر اساس اون فیلد فلق جدولو ویرایش ویه مقدار خاص بهش بدیم بعد با یه کوئری ساده بکشیم بیرون
من به این شکل انجام دادم جواب نگرفتم
کد پی‌اچ‌پی:
<?php
if(isset($_POST['sub'])) 
{
if(isset(
$_POST['checkboxvar']) && is_array($_POST['checkboxvar']) )
{
    foreach(
$_POST['checkboxvar'] as $row)
    {
        
mysql_connect('localhost','root','');
        
mysql_select_db('test');
        
mysql_query("set names utf8");
        
mysql_query("set charset utf8");
        
mysql_query("SET CHARACTER SET utf8;");
            
mysql_query("SET SESSION collation_connection = 'utf8_general_ci'");
                
$add mysql_query ("update 'ff' set farshad='man' where id=".$row." ");
                    if ( 
$add )
                    {
                        
$status '<div class="ok">درست شد</div>';
                    }
                    else 
                    { 
$status '<div class="error">درست نشد</div>'; }

}
}
}
?>
<form method="post" action=""> 
<table>
<tr><td><input type='checkbox' name='checkboxvar[]' value='".row[id]."'>Record One</td></tr>
</table>
<input type='submit' name='sub'>
</form> 
[/php]
  پاسخ
تشکر شده توسط :
#7
کد پی‌اچ‌پی:
<?php
if(isset($_POST['sub'])){
    if(isset(
$_POST['checkboxvar']) && is_array($_POST['checkboxvar']) ){
        try{
            
$db mysql_connect('localhost','root','');
            
mysql_select_db('test',$db);
            
mysql_query("SET NAMES utf8");
            
$array = array();
            foreach(
$_POST['checkboxvar'] as $row){
                
$result mysql_query ("UPDATE 'table' SET is_listed='yes' WHERE id=".$row." ");
                if ( 
$result ){
                    
$array[]  = $row;
                }
            }
            echo 
'updated rows: ';
            
print_r$array);
        catch(
Exception $e){
            echo 
$e->getMessage();
        }
    }else
        echo 
'error:parameters not set!';
}
?>
مشکل چیه، خطا میده؟

لطفا واضح تر سوال بپرسید و تمیزتر کد بنویسید.
به یـزدان که گر ما خرد داشتیم
کجـا این سر انجـام بد داشتیم؟
  پاسخ
تشکر شده توسط : kasbookar
#8
با این کد ارور
SCREAM: Error suppression ignored for
( ! ) Parse error: syntax error, unexpected 'catch' (T_CATCH) in D:\wamp\www\testphp\testt.php on line 17
میگیرم اشکال کار از کجاس؟دارم از ومپ سرور استفاده میکنم از ومپ سرور هست؟
  پاسخ
تشکر شده توسط :
#9
ببخشید یه آکولاد جا انداختم.
اینو امتحان کنید.
کد پی‌اچ‌پی:
<?php
if(isset($_POST['sub'])){
    if(isset(
$_POST['checkboxvar']) && is_array($_POST['checkboxvar']) ){
        try{
            
$db mysql_connect('localhost','root','');
            
mysql_select_db('test',$db);
            
mysql_query("SET NAMES utf8");
            
$array = array();
            foreach(
$_POST['checkboxvar'] as $row){
                
$result mysql_query ("UPDATE 'table' SET is_listed='yes' WHERE id=".$row." ");
                if ( 
$result ){
                    
$array[]  = $row;
                }
            }
            echo 
'updated rows: ';
            
print_r$array);
        }catch(
Exception $e){
            echo 
$e->getMessage();
        }
    }else
        echo 
'error:parameters not set!';
}
?>
به یـزدان که گر ما خرد داشتیم
کجـا این سر انجـام بد داشتیم؟
  پاسخ
تشکر شده توسط : kasbookar


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان