PDA

View Full Version : سوال: concat آرایه رو بلد نیستم به گیر خوردم



mohammadreza1386
چهارشنبه 07 مرداد 1388, 12:12 عصر
دوستان یکی کمک کنه،
یک صفحه ی add.php دارم با DB.php
تو صفحه ی add این کدها رو دارم


$values=array('OfferBody'=>$OfferBody,'TodayMetho'=>$TodayMethod,'TodayMethodFaults'=>$TodayMethodFaults,'OfferEarns'=>$OfferEarns);




$DB->update("Offerlog",$values,"OfferID=65");

و در صفحه ی DB این هارو



function update($table,$values,$condition){




foreach( $values as $field => $value){


//echo "\$values['$field']=>$value.";


$fieldarray+=$value['$field'];
}
$query="update ".$table." set ".$fieldarray." where".$where;
echo $query;
/*$this->result=mysql_query($query);
if (mysql_affected_rows()>0){
return $q=1;
}*/


}


مشکلم اینه که وقتی کلاس update رو صدا میزنم و می خوام تمام فیلد هارو update کنم، concatکردن فیلدها رو بلد نیستم که چجوری queryکه دارم درست در بیاد، من اینجوری نوشتم ولی می دونم غلطه


fieldarray+=$value['$field'];

لطفا یکی کمک کنه

امیـرحسین
چهارشنبه 07 مرداد 1388, 14:00 عصر
PHP از نقطه استفاده می کنه.

fieldarray .= $value['$field$'];
ولی از آرایه استفاده کنید بهتره. با تابع join می تونید بین تساوی ها کاما بذارید:

$fieldarray = array();
foreach($values as $field => $value)
$fieldarray[] = $field ."='". mysql_real_escape_string($value) ."'";

$query = "UPDATE $table SET ".join("," , $fieldarray)." WHERE $where";

mohammadreza1386
یک شنبه 11 مرداد 1388, 13:46 عصر
خیلی ممنون دوست من