Files
2026-10-19 15:22:52 -07:00

91 lines
2.8 KiB
PHP

<?php
function initializeTableArray($initTableName, $values = array()) {
global $school_num, $schedule_num, $menu_num;
$tableArray = array();
if (!isset($initTableName) || strlen($initTableName) == 0) return($tableArray);
$query = "SHOW columns FROM $initTableName";
$initResults = db_query($query);
if (db_num_rows($initResults)) {
while ($initRow = db_fetch_assoc($initResults)) {
$initField = $initRow['Field'];
$initType = $initRow['Type'];
$initDefault = $initRow['Default'];
if (is_array($values) && count($values) > 0 && array_key_exists($initField, $values)) {
$tableArray[$initField] = $values[$initField];
}
else {
$initType = preg_replace("/\(.*/","",$initType);
switch ($initType) {
case 'int':
case 'int unsigned':
case 'smallint':
case 'smallint unsigned':
case 'bigint':
case 'bigint unsigned':
if ($initDefault == 'NULL') $initDefault = '0';
if ($initDefault == '') $initDefault = '0';
if ($initField == 'school_num' && isset($school_num)) $initDefault = $school_num;
if ($initField == 'schedule_num' && isset($schedule_num)) $initDefault = $schedule_num;
if ($initField == 'menu_num' && isset($menu_num)) $initDefault = $menu_num;
$tableArray[$initField] = $initDefault;
break;
case 'decimal':
if ($initDefault == 'NULL') $initDefault = '0.0';
if ($initDefault == '') $initDefault = '0.0';
$tableArray[$initField] = $initDefault;
break;
case 'enum':
case 'varchar':
case 'char':
if ($initDefault == 'NULL') $initDefault = '';
$tableArray[$initField] = $initDefault;
break;
default:
if ($initDefault == 'NULL') $initDefault = '';
switch ($initField) {
case 'added_date':
case 'updated_date':
case 'date_modified':
$initDefault = date("Y-m-d", time());
break;
case 'added_time':
$initDefault = date("Y-m-d H:i:s",time());
break;
case 'record_num':
$initDefault = 0;
break;
default:
break;
}
$tableArray[$initField] = $initDefault;
break;
}
}
}
}
return($tableArray);
}
?>