Penjelasan
Fungsi ini adalah kode untuk menangani input atau postingan form edit tabel yang dibuat dengan fungsi create_edit_form, meliputi pengubahan dan penyimpanan data.
Kode Skrip PHP
function respon_formedit($tabletarget,$idtarget,$cur_user_id){
$sql = '';
$valid = isset($_POST['btsavedb']);
if($valid){
$valbutton = strtolower($_POST['btsavedb']);
$valid = !($valbutton=='ok');
}
if($valid){
$sfld = '';
//
$sql = "SHOW COLUMNS FROM `".$tabletarget."`";
$qry = mysql_query($sql);
if(!$qry){
pesan('<div><strong>Respon form edit-SQL:</strong>'.$sql.'</div><div>'.mysql_error().'</div>');
} else {
$reccount = mysql_num_rows($qry);
while($rec = mysql_fetch_array($qry)){
$sfld .= $rec['Field'].'|';
}
}
$arfld = explode('|',$sfld);
//
switch($valbutton){
case “ubah”:
$sql = ‘UPDATE `’.$tabletarget.’` SET ‘;
for($i=0;$i<count($arfld);$i++){
$fldname = $arfld[$i];
if($fldname==’id’)continue;
if($fldname==’waktu entri’){
$sql .= “`waktu entri` = ‘”.date(‘Y-m-d H:i:s’).”‘ “;
if($i<(count($arfld)-2)){
$sql .= ‘, ‘;
}
continue;
}
if($fldname==’ip’){
$sql .= “`ip` = ‘”.$_SERVER['REMOTE_ADDR'].”‘ “;
if($i<(count($arfld)-2)){
$sql .= ‘, ‘;
}
continue;
}
$ftype = get_field_type($tabletarget,$arfld[$i]);
$ctrname = delnonletter($arfld[$i]);
$sql .= sql_unit($ftype,$fldname,$ctrname);Â //ubah tdk ada proses upload
if($i<(count($arfld)-2)){
$sql .= ‘, ‘;
}
}
$sql .= ‘ WHERE `id` = ‘.$idtarget;
break;
case “hapus”:
$sql = ‘DELETE FROM `’.$tabletarget.’` WHERE `id` = ‘.$idtarget;
break;
//case “ok”: break;
case “simpan baru”:
case “baru”:
$sql = ‘INSERT `’.$tabletarget.’` SET ‘;
for($i=0;$i<(count($arfld)-1);$i++){
$fldname = $arfld[$i];
if($fldname==’id’)continue;
if($fldname==’waktu entri’){
$sql .= “`waktu entri` = NOW() “;
if($i<(count($arfld)-2)){
$sql .= ‘, ‘;
}
continue;
}
if($fldname==’ip’){
$sql .= “`ip` = ‘”.$_SERVER['REMOTE_ADDR'].”‘ “;
if($i<(count($arfld)-2)){
$sql .= ‘, ‘;
}
continue;
}
if($fldname==’users’){
$tmp = “`users` = “.$cur_user_id;
if($tmp==”`users` = “){ //if entry for users not specified, set as public or umum
$tmp = “`users` = 1″;
}
$sql .= $tmp;
if($i<(count($arfld)-2)){
$sql .= ‘, ‘;
}
continue;
}
$ftype = get_field_type($tabletarget,$arfld[$i]);
$ctrname = delnonletter($arfld[$i]);
if(is_upload_field($fldname)){
$tmp = handle_upload_file($ctrname,delnonletter($fldname));
$sql .= “`”.$fldname.”` = ‘”.$tmp.”‘”;
} else {
$sql .= sql_unit($ftype,$fldname,$ctrname);
}
if($i<(count($arfld)-2)){
$sql .= ‘, ‘;
}
}
break;
}
//echo $sql;
//return $sql;
$valid = (!($sql==”));
if($valid){
$qry = mysql_query($sql);
if(!$qry){
$valid = false;
pesan(‘<div><strong>SQL:</strong>’.$sql.’</div><div>’.mysql_error().’</div>’);
}
}
}
return $valid;
}







































