PDA

View Full Version : درج نشدن مقادیری که از حلقه foreach میگیریم



boysilent
پنج شنبه 04 مهر 1392, 09:07 صبح
سلام دوستان عزیز بنده مقادیر چک باکس هایی را بصورت زیر میگیرم



$idcostomer=$_SESSION['userid'];

//@$id=$_SESSION['codemoshtari'];
$res= count($_POST['check_list']);
//$hazine=(int)$res *
foreach($_POST['check_list'] as $value){
//echo $value;

for($i=0;$i<=$res;$i++)
{
//echo $value[$i];
$quey3=mysql_query("UPDATE `sandali` SET `t`=1,`costomer`='$idcostomer' WHERE `number`='$value[$i]' ");
echo mysql_error();
}}

ولی وقتی داخل حلقه قرار میدهم بدرستی اعمال نمیشود و این خطارو میدهد؟


Notice: Uninitialized string offset: 2 in C:\xampp\htdocs\terminal\print.php on line 35


خط 35:
$quey3=mysql_query("UPDATE `sandali` SET `t`=1,`costomer`='$idcostomer' WHERE `number`='$value[$i]' ");

فک کنم خطا از $valu باشه ؟؟؟
چیکار کنم؟

mahmod2000
پنج شنبه 04 مهر 1392, 10:59 صبح
اول یه print_r بگیرید از متغیر $res که مطمئن بشید آرایه به درستی کار میکنه و ببینید مقداری که بهتون میده تو آرایه چیه

بعد اینکه تو foreach که زدید دیگه نیازی به حلقه for نیست

همون foreach کافیه



$res= $_POST['check_list'];
//$hazine=(int)$res *
foreach($res as $value){
//echo $value;

//echo $value[$i];
$quey3=mysql_query("UPDATE `sandali` SET `t`=1,`costomer`={$idcostomer} WHERE `number`={$value} ");
echo mysql_error();
}

AliRezaPro
پنج شنبه 04 مهر 1392, 11:40 صبح
به جای این حلقه های هم میتوانید از دستور IN استفاده کنید .جستجو کنید . متن خطا گویای همه چیزه , قبل از استفاده سعی کنید اون متغیر رو چاپ کنید تا از محتویاتش مطمئن بشبد