• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
حذف چند رکورد بصورت گروهی
#1
سلام . عباداتتون قبول حق .
من همیشه برای حذف رکورد ها در قسمت مدیریت جلوی هر ردیف ، یک گزینه به نام delet و update میزارم که با get ، آیدی اون ردیف رو گرفته و بعد از پرسیدن سوال ، حذف میکنم . (البته فعلا به اینکه ارسال با get باعث میشه id در نوارآدرس دیده بشه و ناامنه کاری ندارم )
میخوام بدونم منطق این نوع حذف که جلوی هر ردیف یک checkbox گذاشته میشه و بعد بصورت گروهی حذف میشن چیه ؟ (مثل قسمت پیام خصوصی انجمن )
چطور باید بگم تمام checkbox هایی که انتخاب شدن ، id شون رو بگیر و حذف کن.منطقشو فقط میخوام بدونم نه کدنویسیشو.
قبلش خیلی خیلی ممنون .
آرام باش ؛ توكل كن ؛ تفكر كن و سپس آستينها را بالا بزن , آنگاه دستان خداوند را خواهي ديد كه زودتر از تو دست به كار شده است.امام علي عليه السلام.
  پاسخ
تشکر شده توسط :
#2
منطقش خیلی آسونه....شما از طریق اون چک باکس ها ، idها رو در قالب یک آرایه ذخیره میکنین و در صفحه ی deleteتون به راحتی ردیف هایی که مقدار idشون توی آرایه هست رو پاک میکنین....
مثلا اگه سه تا گزینه انتخاب شده باشه آرایه تون دارای سه مقداره که اون مقادیر رو فراخوانی میکنین و پاک میکنین.
بنده طعم ايمان را نمي چشد، تا اينكه دريابد آنچه اتفاق نيفتاده است نمي شد كه اتفاق بيفتد؛و آنچه شده و اتفاق افتاده است,نمي شد كه نشود و اتفاق نيفتد....حضرت علي(ع)
  پاسخ
تشکر شده توسط : pary_daryayi
#3
هر چک باکس یه value داره که id رو نگه میداره و همچنین همه چک باکس ها یه اسم مشترک آرایه ای دارن مثل
کد پی‌اچ‌پی:
name="boxname[]" 
طرف پی اچ پی هم تو یه ارایه با اندیس عددی دریافت میشه .
  پاسخ
تشکر شده توسط : oia pary_daryayi
#4
نقل قول:البته فعلا به اینکه ارسال با get باعث میشه id در نوارآدرس دیده بشه و ناامنه کاری ندارم )
اینطور نیست. می تونی برای حذف از متد POST به جای GET استفاده کنی. همون قدر که GET نا امنه POST هم هست.

--
برای حذف دسته جمعی هم فک می کنم همچین کدی کاربردی باشه: (این کد یه نمونست بدون رعایت موارد امنیتی!)
کد پی‌اچ‌پی:
<?PHP

//$ids = array(1, 2, 3, 4, 5, 6, 10);
$ids $_POST['ids'];

$where '';
foreach(
$ids as $id){
    
$where .= " id={$id} AND";
}

$query 'DELETE FROM `table_name` WHERE' rtrim($where' AND'); 
  پاسخ
تشکر شده توسط : pary_daryayi
#5
امین تایپ کرده OR ولی جاش تایپ شده And . به جای And از OR استفاده کنید
  پاسخ
تشکر شده توسط : oia pary_daryayi molana
#6
(۱۳۹۱ مرداد ۲۱, ۰۲:۴۳ ب.ظ)admin نوشته: امین تایپ کرده OR ولی جاش تایپ شده And . به جای And از OR استفاده کنید
Big Grin
(عجب سوتی دادم ها!)

نقل قول:امین تایپ کرده OR ولی جاش تایپ شده And
این از اون حرفاییه که هرکسی ... نمیرسه بزنه
کوچیکتم Heart Smile
  پاسخ
تشکر شده توسط : molana
#7
(۱۳۹۱ مرداد ۲۱, ۰۲:۵۷ ب.ظ)oia نوشته:
(۱۳۹۱ مرداد ۲۱, ۰۲:۴۳ ب.ظ)admin نوشته: امین تایپ کرده OR ولی جاش تایپ شده And . به جای And از OR استفاده کنید
Big Grin
(عجب سوتی دادم ها!)

نقل قول:امین تایپ کرده OR ولی جاش تایپ شده And
این از اون حرفاییه که هرکسی ... نمیرسه بزنه
کوچیکتم Heart Smile

Big Grin ما کوچیکتیم.
  پاسخ
تشکر شده توسط : oia molana
#8
من با نحوه ی دریافت مقدار checkbox ها بصورت آرایه مشکل دارم . الان این مثال ساده کار نمیکنه . نحوه ی تعریفم نادرسته ؟
کد پی‌اچ‌پی:
$i=1;
echo 
'<form id="form1" name="form1" method="post" action="">';
while (
$i<6)
{
$i++;

echo 
'<input type="checkbox" name="ids" value="<?php echo $i;?>" />';
 
}
echo 
'<input type="submit" name="send" value="Submit" /> ';
echo 
'</form>';

if(
$_POST['send'])
{
$ids=array();
$ids=$_POST['ids'];
foreach(
$ids as $id)
{
echo 
$id;
}

آرام باش ؛ توكل كن ؛ تفكر كن و سپس آستينها را بالا بزن , آنگاه دستان خداوند را خواهي ديد كه زودتر از تو دست به كار شده است.امام علي عليه السلام.
  پاسخ
تشکر شده توسط :
#9
کد:
<input type="checkbox" name="ids[]" value="<?php echo $i;?>" />
هر که با مرغ هوا دوست شود - خوابش آرامترین خواب جهان خواهد بود.
  پاسخ
تشکر شده توسط : pary_daryayi webnevesht


پرش به انجمن:


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