رفتن به مطلب

درخواست کمک در کوئری


پست های پیشنهاد شده

من توی کد زیر مشکل دارم کد زیر میاد دسته بندیهایی که ایجاد کردم رو نشون میده. مثلا اگه 6 دسته بندی داشته باشیم مثل شکل زیر نشون میده:

uvitmp7385ylqbcbf117.jpg

حالا من میخوام اگه 2 تا رو تیک زدم و دکمه ذخیره رو زدم هر 2 تا حذف بشن ولی الان اگه 3 تا هم تیک بزنیم فقط یکی حذف میشه:


<form action="" method="post">
<?php
$D->addcat= array(); // by Sharetronix.ir
$numb = 50;
$r = $db2->query('SELECT * FROM shop_cats WHERE user_id="'.$this->user->id.'" LIMIT '.($numb));
while($o = $db2->fetch_object($r)) {
$D->addcat[] = array($this->network->get_user_by_id($o->user_id),$o->catname);
}
$D->addcat= array_slice($D->addcat, 0, $numb); $this->network->get_user_by_id($this->user->id, TRUE); foreach($D->addcat as $u) { ?>
<input type="checkbox" name="delcat" value="<?= $u[1] ?>"><?= $u[1] ?>-
<input type="submit" value="ذخیره">
<?php } ?></form>
<?php
if (isset ($_POST['delcat'])){
$delcat= $_POST["delcat"];
$db2->query('DELETE FROM shop_cats WHERE user_id="'.$this->user->id.'" AND catname="'.$delcat.'"');
}
?>

ویرایش شده توسط kingblog
لینک به ارسال

سلام.


<form action="" method="post">
<?php
$D->addcat= array(); // by Sharetronix.ir
$numb = 50;
$r = $db2->query('SELECT * FROM shop_cats WHERE user_id="'.$this->user->id.'" LIMIT '.($numb));
while($o = $db2->fetch_object($r)) {
$D->addcat[] = array($this->network->get_user_by_id($o->user_id),$o->catname);
}
$D->addcat= array_slice($D->addcat, 0, $numb); $this->network->get_user_by_id($this->user->id, TRUE); foreach($D->addcat as $u) { ?>
<input type="checkbox" name="delcat[<?php echo $u[1]; ?>]" value="1"><?php $u[1] ?>-
<?php } ?>
<input type="submit" value="ذخیره">
</form>
<?php
if ( isset( $_POST['delcat'] ) && count( $_POST['delcat'] ) > 0 ){
$delcat = $_POST["delcat"];
$count = count( $delcat );
$keys = array_keys( $delcat );
$query = 'DELETE FROM shop_cats WHERE user_id="'.$this->user->id.'" AND ( ';
for( $i = 0; $i < $count; $i++ ){
if( $i != $count - 1 )
$query .= ' catname="' . $keys[$i] . '" OR '
else{
$query = ' catname="' . $keys[$i] . '" )'
}
}
$db2->query( $query );
}
?>

این رو تست کنید.

لینک به ارسال

خطای زیر رو میده:


Parse error: syntax error, unexpected T_ELSE on line 703

این سه خط 702 و 703 و 704 :


$query .= ' catname="' . $keys[$i] . '" OR '
else{
$query = ' catname="' . $keys[$i] . '" )'

لینک به ارسال

منظورتون رو متوجه نشدم

اینجوری تغییر دادم نشد:


$query .= ' catname="' . $keys[$i] . '" OR) '

لینک به ارسال

به این صورت تست کنید


<form action="" method="post">
<?php
$D->addcat= array(); // by Sharetronix.ir
$numb = 50;
$r = $db2->query('SELECT * FROM shop_cats WHERE user_id="'.$this->user->id.'" LIMIT '.($numb));
while($o = $db2->fetch_object($r)) {
$D->addcat[] = array($this->network->get_user_by_id($o->user_id),$o->catname);
}
$D->addcat= array_slice($D->addcat, 0, $numb); $this->network->get_user_by_id($this->user->id, TRUE); foreach($D->addcat as $u) { ?>
<input type="checkbox" name="delcat[<?php echo $u[1]; ?>]" value="1"><?php $u[1] ?>-
<?php } ?>
<input type="submit" value="ذخیره">
</form>
<?php
if ( isset( $_POST['delcat'] ) && count( $_POST['delcat'] ) > 0 ){
$delcat = $_POST["delcat"];
$count = count( $delcat );
$keys = array_keys( $delcat );
$query = 'DELETE FROM shop_cats WHERE user_id="'.$this->user->id.'" AND ( ';
for( $i = 0; $i < $count; $i++ ){
if( $i != $count - 1 )
$query .= ' catname="' . $keys[$i] . '" OR ';
else{
$query .= ' catname="' . $keys[$i] . '" )' ;
}
}
$db2->query( $query );
}
?>

لینک به ارسال
  • 4 هفته بعد...

سلام

اگه یه شرط دیگه بخوایم اضافه کنیم چیکار باید کرد؟

مثلا من به این شکل تغییر دادم نشد:


<input type="hidden" name="clas[<?php echo $u[1]; ?>]" value="<?= $u[1] ?>" />

if (isset ($_POST['clas']) && isset($_POST['user'])){
$clas= $_POST["clas"];
$user= $_POST["user"];
$count = count( $clas);
$keys = array_keys( $clas);
$count2 = count( $user);
$keys2 = array_keys( $user);
$query = 'UPDATE mosabeghat_users SET nafare="'.$barande.'" WHERE ( ';
for( $i = 0; $i < $count; $i++ ){
if( $i != $count - 1 )
for( $i2 = 0; $i2 < $count2; $i2++ ){
if( $i2 != $count2 - 1 )
$query .= ' clas="' . $keys[$i] . '" AND user="' . $keys2[$i2] . '" OR';
else{
$query .= ' clas="' . $keys[$i] . '" AND user="' . $keys2[$i2] . '")' ;
}}
}
$db2->query( $query );
}

ویرایش شده توسط kingblog
لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...