رفتن به مطلب

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


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

من توی کد زیر مشکل دارم کد زیر میاد دسته بندیهایی که ایجاد کردم رو نشون میده. مثلا اگه 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 );
}
?>

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

  • امتیاز 3
لینک به ارسال

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


Parse error: syntax error, unexpected T_ELSE on line 703

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


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

لینک به ارسال

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


<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 );
}
?>

  • امتیاز 3
لینک به ارسال
  • 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
لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

شما بعد از اینکه وارد حساب کاربری خود شدید می توانید دیدگاهی ارسال کنید



ورود به حساب کاربری
×
×
  • اضافه کردن...