Kalender DFGEN

March 2010
M T W T F S S
« Feb    
1234567
891011121314
15161718192021
22232425262728
293031  

Fungsi create_ctrl_edit

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;
}