PDA

View Full Version : آموزش: درخواست آموزش قابلیت سلکت دسته جمعی + DELETE



iAmirZ
یک شنبه 02 شهریور 1393, 17:10 عصر
درود

جهت یاد گیری این کارو می خوام بکنم

یک جدول ساختم که اطلاعات کاربرانو از دیتابیس می کشه بیرون
در ابتدا هم checkbox برای انتخاب قرار دادم
برای هر سطر یه چک باکس

یک دکمه هم برای delete موارد انتخاب شده

حالا می دونم چجوری به این کوئری بفهمونم مواردی که Select شده را برام ID هاشو بفرست

امیدوارم متوجه منظورم شده باشید :لبخند:

prans.info
یک شنبه 02 شهریور 1393, 17:15 عصر
باید نیم همه انپوت ها (چک باکس ها) یک اسم باشه و به صورت زیر :

name="postname[]"
<input type="checkbox" value="1" name="postname[]">
<input type="checkbox" value="2" name="postname[]">
<input type="checkbox" value="3" name="postname[]">
<input type="checkbox" value="4" name="postname[]">






$result = mysql_query ("SELECT `id` FROM `user` LIMIT 10");

while ($user = mysql_fetch_array($result)){

echo '<input type="checkbox" value="'.$user['id'].'" name="postname[]">';

}









بجای postname نیم مورد نظر خودتون رو بنویسید .


هنگام دریافت هم باید از حلقه foreach استفاده کیند مثل زیر :

$ids = $_POST['postname'];

foreach ($ids as $id){

echo $id .'[br /]';

// query ...

}

2undercover
یک شنبه 02 شهریور 1393, 17:47 عصر
باید نیم همه انپوت ها (چک باکس ها) یک اسم باشه و به صورت زیر :

name="postname[]"
<input type="checkbox" value="1" name="postname[]">
<input type="checkbox" value="2" name="postname[]">
<input type="checkbox" value="3" name="postname[]">
<input type="checkbox" value="4" name="postname[]">






$result = mysql_query ("SELECT `id` FROM `user` LIMIT 10");

while ($user = mysql_fetch_array($result)){

echo '<input type="checkbox" value="'.$user['id'].'" name="postname[]">';

}









بجای postname نیم مورد نظر خودتون رو بنویسید .


هنگام دریافت هم باید از حلقه foreach استفاده کیند مثل زیر :

$ids = $_POST['postname'];

foreach ($ids as $id){

echo $id .'[br /]';

// query ...

}

البته توصیه می کنم به جای این که با یک حلقه هر بار به ازای هر ID یک کوئری DELETE اجرا کنید از شرط WHERE IN در MySQL استفاده کنید.

iAmirZ
یک شنبه 02 شهریور 1393, 18:30 عصر
لطف کردید حل شد

ممنون http://barnamenevis.org/images/smilies/yahoo/113.gif
-----------------------------------------------------------------------------------------------------------------------


البته توصیه می کنم به جای این که با یک حلقه هر بار به ازای هر ID یک کوئری DELETE اجرا کنید از شرط WHERE IN در MySQL استفاده کنید.

می شه بیشتر توضیح بدید ؟
با WHERE کار کردم ولی WHERE IN نه

ممنون

prans.info
یک شنبه 02 شهریور 1393, 18:57 عصر
لطف کردید حل شد

ممنون http://barnamenevis.org/images/smilies/yahoo/113.gif
-----------------------------------------------------------------------------------------------------------------------



می شه بیشتر توضیح بدید ؟
با WHERE کار کردم ولی WHERE IN نه

ممنون

با استفاده از روش WHERE IN دیگه نیازی نیست از foreach استفاده کنید :


$deleted_items = mysql_real_escape_string(join(",", $post["postname"]));

mysql_query ("DELETE FROM `user` WHERE `id` IN ($deleted_items)");