PDA

View Full Version : سوال: درج آرایه ای از فیلدها در جدول.



fatahyegane
یک شنبه 14 آذر 1389, 23:08 عصر
سلام دوستان یک لطفی بکنید ببینم مشکل دستورات زیر چیه ؟ ممنون.


$num=count($fildlist);
$i=1;
$query = 'INSERT INTO $tablename( ';
foreach($fildlist as $v){
if ($i<>$num){
$query .= $v .',';
}else{
$query .= $v . ')';
}
$i=$i+1;
}

shahriyar3
یک شنبه 14 آذر 1389, 23:19 عصر
آرگومان اول ارسالی برای foreach باید آرایه باشه
ایراد اسکریپت شما همینه
قیل از حلقه باید به این آرایه مقدار بدید


$fildlist = array(id,name,....);

fatahyegane
دوشنبه 15 آذر 1389, 08:52 صبح
آرگومان اول ارسالی برای foreach باید آرایه باشه
ایراد اسکریپت شما همینه
قیل از حلقه باید به این آرایه مقدار بدید


$fildlist = array(id,name,....);


fildlist آرایه است .که مقادیرش رو با یک فرم و متد post میگیرم و بعد از حذف چند عنصر از اون اون رو درون fildlist میریزم.

1bsavad
دوشنبه 15 آذر 1389, 09:16 صبح
برنامه رو سختش کردی برادر
کار یک خط بود:

$query='INSERT '.$tablename.'(`'.implode('`,`',$fildlist).'`)'
php به همین آسانی است :چشمک:

funpatogh
دوشنبه 15 آذر 1389, 22:58 عصر
ایراد کدت اینه که اینجا


$query = 'INSERT INTO $tablename( ';

از ' ' استفاده کرده و مقدار متغییر tablename جایگزین نمیشود
اینو امتحان کنید


$tablename="test";
$fildlist=array('mohammad','hamid','sara');
$num=count($fildlist);
$i=1;
$query = "INSERT INTO `$tablename` values( ";
foreach($fildlist as $v){
if ($i<>$num){
$query .= "'".$v ."',";
}else{
$query .="'".$v ."')";
}
$i=$i+1;
}
echo $query;


که البته خیلی راحت ترش با implode هست


$fildlist=array('mohammad','hamid','salam');
$query="insert into `$tablename` values ('".implode("','",$fildlist)."')";
echo $query;