Нормализация таблиц до 3НФ. Создание новых таблиц для каждого поля. Результат нормализации. SQL сценарий для создания спроектированной базы данных, страница 4

$res_table_names_query = ibase_query($host, $get_table_names_query);//в базу отсылаем запрос

while ($row_table_names = ibase_fetch_object($res_table_names_query))//вытаскиваем результаты по одному и запихиваем в массив р

{

$r[] = $row_table_names->TABLE_NAME;

}

return $r;

}

function listTablesSel()//рисует листбокс со списком таблиц

{

global $host, $cTable;

$tables = listTables($host);

?><script>

function ChangeTable(name){//обновление с новрй таблицей

tt=name.value;

window.location='<? echo $_SERVER['PHP_SELF']?>?cTable='+ tt;

}

</script><?

$sel = '';

echo '<select name="cTable" onchange="ChangeTable(this);">';

foreach ($tables as $table)//рисует список

{

if(trim($cTable) == trim($table)) $sel = ' selected'; else $sel = '';

echo '<option value="'.$table.'"'.$sel.'>'.$table.'</option>';

}

echo '</select>';

}

if(@$_POST['cTable']) $cTable = $_POST['cTable'];

else $cTable = @$_GET['cTable'];

if(!$cTable)

{

echo "Please Select Table ";

listTablesSel();

echo '<br> <a href="index.php">Return to Main</a>';

die();

}

?>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />

<style>

/*body{background-color: #ffffff; font-family: verdana; font-size: 16px}*/

body,pre,a,form {

font-size: 16px;

font-family:  'trebuchet ms', verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;

margin:0 0;

padding:10px 5 0px 5;

}

a{color: #2136f6;font-size: 16px}

a:hover{color: #981912;}

table {background-color: #000000; border: 0px solid #D2D2D2;}

table td {background-color: #f5f5f5;}

table tr.header td{border: 0px solid #D2D2D2; color: #FFFFFF; background-color: #FF9900; font-weight: bold; }

table a{color: #122580; font-size:  12px;}

table a:hover{color: #990000; }

table td.field{background-color: #D7FFD7; color: #264769; font-weight: normal; text-align: left}

</style>

<body>

<?

if(@$_POST['bEdit'])

{

if($_POST['bEdit']=='OK')

{

$new = '';

$tb = '';

foreach($_POST as $k => $v)

{

if(substr($k, 0, 7)=='__edit_')

{

$k = substr($k, 7);

//echo $k.' = "'.$v.'"<br>';

$new .= ($k)." = '".$v."',";

}

}

$new = substr($new, 0, -1);

$i=0;

$ro = str_replace(':::', "' and ", urldecode($_POST['rOld'][0]));

$ro = str_replace('=', " = '", $ro);

$ro = substr($ro,0, -4);

$q = "update ".$cTable." set ".$new." where ".$ro;

//echo $q;

$rs = ibase_query($host, $q);

$i++;

echo "<br>";

echo 'Updated..';

}

elseif($_POST['bEdit']=='Cancel')

{

}

else

{

echo '<form action="" method="post">';

//foreach($_POST['rows'] as $rowOld)

$rowOld = $_POST['rows'][0];

{

echo '<table>';

$rowOld = urldecode($rowOld);

$rows = explode(':::', $rowOld);

$val='';

foreach($rows as $row)

{

if($row)

{

$r = explode('=', $row);

echo '<tr><td>'.($r[0]).'</td><td><input type="text" name="__edit_'.($r[0]).'" value="'.($r[1]).'"></td></tr>';

}

}

echo '</table><br>';

echo '<input type="hidden" name="rOld[]" value="'.urlencode($rowOld).'">';

echo '<input type="hidden" name="cTable" value="'.$cTable.'">';

}

?>

<input type="submit" name="bEdit" value="OK">

<input type="submit" name="bEdit" value="Cancel">

<br>

<?

echo '</form>';

die();

}

}

if(@$_POST['bDel'])

{

$i=0;

foreach($_POST['rows'] as $rowOld)

{

$i++;

$rowOld = urldecode($rowOld);

$rows = explode(':::', $rowOld);

$where='';

foreach($rows as $row)

{

if($row)

{

$r = explode('=', $row);