kingblog

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

8 پست در این موضوع قرار دارد

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

به اشتراک گذاری این پست


لینک به پست

سلام.


<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] . '" )'

0

به اشتراک گذاری این پست


لینک به پست

سمیکولون آخر خط ها رو فراموش کردمه :))

0

به اشتراک گذاری این پست


لینک به پست

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

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


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

0

به اشتراک گذاری این پست


لینک به پست

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


<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

به اشتراک گذاری این پست


لینک به پست

ممنون از شما مشکلم حل شد. ;)

0

به اشتراک گذاری این پست


لینک به پست

سلام

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

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


<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
0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری