View Full Version : delete همزمان چند رکورد
enteraks13
سه شنبه 20 فروردین 1387, 12:45 عصر
میخوام در کنار هر رکورد یک checkbox قرار بدم بعد با انتخاب رکورد های مورد نظر از طریق form آنها رو به طور همزمان پاک کنم مشکل اینجاست که رکوردها کاملا متمایز هستند وبا شرط نمی شه همزمان آنها رو delete کرد راهنمایی کنید و اطلاعات form رو هم نمی تونم تفکیک کنم چون مجبورم name chechbox رو یکی بگیرم در صورتی که به صورت جداگانه تعریف می شه ونمی شه تفکیکشون کرد با split
tabib_m
سه شنبه 20 فروردین 1387, 18:59 عصر
هر رکورد id داره؟
اسم فیلدهای چکباکسها رو اینجوری تعیین کن:
<input type="checkbox" name="DEL[<?=$theID;?>]" value="1" />
در این صورت، وقتی فرم ارسال شد، یک آرایه با نام DEL خواهی داشت که اندیس های این آرایه، id های رکوردهای مورد نظر هستن و مقادیر تمامی سلول ها، 1 هست.
با یک foreach میتونی id ها رو دنبال هم ردیف کنی، و از دستور IN در شرط sql ت استفاده کنی...
موفق باشید.
enteraks13
چهارشنبه 21 فروردین 1387, 10:01 صبح
در استفاده از forich در دستورات sql با خطا مواجه شدم پیغام خطا اینه که پشتیبانی نمی کنه از دستورات کنترلی ، شیوه صحیح استفاده در دستورات sql رو بلد نیستم:گریه:
tabib_m
چهارشنبه 21 فروردین 1387, 17:36 عصر
عزیز، foreach (http://ir.php.net/manual/en/control-structures.foreach.php) یک حلقه ی php هست!...
با این حلقه، id ها رو دنبال هم بنداز:
foreach($theArray as $theID => $value){
$ids.=",".$theID;
}
if($ids) $ids=substr($ids,1);
بعد هم توی شرط ازش استفاده کن:
$query=mysql_query("delete from `tableName` where `id` IN ($ids)");
موفق باشید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.