PHP – MySQL : Dynamic Update
Pada umumnya syntax update pada SQL adalah sebagai berikut :
“Update Table Set Field1 = Value1, Field2 = Value2 ….. WHERE Field1 = Value1″
Bayangkan jika kita mendevelop aplikasi website tidak menggunakan framework atau bahkan CMS ? tentu akan memakan banyak baris yang kadang pusing untuk dibaca, berikut merupakan fungsi yang bisa digunakan untuk meringkas fungsi UPDATE.
function arrUpdate($arrField, $table, $arrWhere){
$result = "";
$result = "UPDATE ".$table." SET ";
$nField = count($arrField);
$nWhere = count($arrWhere);
if ( $nField > 1){
foreach ($arrField as $key=>$val){ $result .= $key."='".trim($val)."', "; }
}else{
foreach ($arrField as $key=>$val){ $result .= $key."='".trim($val)."' "; }
}
if (substr(trim($result), -1)==','){
$r[0] = substr($result,0,strlen(trim($result))-1)." WHERE ";
}else{
if ($nWhere > 0){ $r[0] = $result. " WHERE ";}
else{$r[0] = $result;}
}
$result = "";
if ( $nWhere > 1){
foreach ($arrWhere as $key=>$val){ $result .= " ". $key."='".trim($val)."' AND "; }
}else{
foreach ($arrWhere as $key=>$val){ $result .= $key."='".trim($val)."'"; }
}
if (substr(trim($result), -3)=='AND'){
$r[1] = substr($result,0,strlen(trim($result))-3);
}else{
$r[1] = $result;
}
return $r[0].$r[1];
}
untuk menggunakannya :
$data = array (
'INVEST_NO' => $INVEST_NO
, 'INVEST_IDX' => $INVEST_IDX);
$where = array ("INVEST_NO" =>$INVEST_NO);
// arrUpdate ([data_update],[table_name],[condition]
$q = arrUpdate($data, 'investment',$where);
Fungsi ini memang masih menggunakan 1 operator saja dalam artian hanya bisa mengeksekusi WHERE condition ‘AND’.

Comments
Powered by Facebook Comments

Have you ever thought about adding a little bit more than just your articles? I mean, what you say is valuable and everything. But imagine if you added some great graphics or video clips to give your posts more, “pop”! Your content is excellent but with pics and video clips, this website could certainly be one of the greatest in its field. Wonderful blog!