Penjelasan
Fungsi ini berguna membuat skrip untuk menghasilkan kontrol. Bagian ini nanti dipecah membuat kontrol untuk foreign key dan membuat kontrol normal berdasarkan tipe data mysql. Di sini terutama disiapkan data yang akan ditampilkan pada saat kontrol dibuat.
tablename: nama tabel yang diload
recid: record id
dbaction: ubah,hapus,baru,browse…
uid: user id yang aktif.
uid diperlukan untuk emgnindetnifikasi siapa yang mengentri data saat ini.
Kode Skrip PHP
function create_ctrl_edit($tablename,$rec_id,$dbaction,$uid=0){
$res = '';
$ugroup = data_users($uid,'group user');
$umail  = data_users($uid,'email');
$valinit = "";
$sql = "SHOW COLUMNS FROM `".$tablename."`";
$qry = mysql_query($sql);
if($qry){
$reccount = mysql_num_rows($qry);
if($reccount> 0){
for($i=0;$i<$reccount;$i++){
if(!mysql_data_seek($qry,$i)){ continue; }
if(!($row = mysql_fetch_assoc($qry))){ continue; }
if($row['Field']==”waktu entri”){ continue;}
if($row['Field']==’ip’){continue;}
$ctrlname = delnonletter($row['Field']);
$res .= ‘<label><table width=”100%” border=”0″ cellspacing=”0″ cellpadding=”0″><tr>’;
if(!($row['Field']==’id’)){
$res .= ‘<td width=”75px” valign=”top”><div>’.capitalize_first($row['Field']).’</div></td>’;
}
$res .= ‘<td valign=”top”>’;
$valinit = get_field_value($tablename,$row['Field'],$rec_id);
if(is_foreign_key($row['Field'])){
$field_view = get_field_view($row['Field']);
if(($row['Field']==’users’)and($dbaction==’baru’)){
$valinit = $umail;
} else {
$valinit = get_field_value($row['Field'],$field_view,get_field_value($tablename,$row['Field'],$rec_id));
}
$res .= ‘<select name=”‘.$ctrlname.’” id=”‘.$ctrlname.’”>’;
$res .= fill_foreignkeyoptions($row['Field'],$dbaction,$valinit);
$res .= ‘</select>’;
} else {
if(is_upload_field($row['Field'])){
if(($dbaction==’baru’)or($dbaction==’simpanbaru’)){
$res .= ‘<input type=”file” name=”‘.$ctrlname.’” id=”‘.$ctrlname.’” />’;
} else {
$res .= ‘<input type=”text” name=”‘.$ctrlname.’” id=”‘.$ctrlname.’” value=”‘.$valinit.’”/>’;
}
} else {
if($row['Field']==’id’){
$res .= ‘<input type=”hidden” name=”‘.$ctrlname.’” id=”‘.$ctrlname.’” value=”‘.$rec_id.’”/>’;
} else {
$ftype = field_type($row['Type']);
$res .= create_normal_control($ftype,$ctrlname,$dbaction,$valinit);
}
}
}
$res .= ‘</td>’;
$res .= ‘</tr></table></label>’;
}
mysql_free_result($qry);
}
}else {echo ‘<div>’.$sql.’</div><div>’.mysql_error().’</div>’;}
return $res;
}







































