>> Nachalnije manilupiacii. Creatim tablicu ili sostavljajem spisok polej
//--------------------------------------------------------------------------------------
// <<< Pereimenovivajem pole esli nuzhno
if ($renames){
foreach ($renames as $key=>$old_title){
if ($old_title AND $old_title != $FIELDS['uid'][$key]){ // Esli proizoshlo pereimenovanije
$TYPE = get_type($FIELDS['type'][$key]);
mysql_query("ALTER TABLE ".$TABLE." CHANGE ".$old_title." ".$FIELDS['uid'][$key]." ".$TYPE);
echo mysql_error();
$EXISTS_IN_TABLE[$FIELDS['uid'][$key]] = 1;
}
}
}
// >>> Pereimenovivajem pole esli nuzhno
//--------------------------------------------------------------------------------------
foreach($FIELDS['uid'] as $key => $value){ // Dobavljajem te polja kotorije u nas pojavilisj v shablone
if (!trim($value)){
echo "
Ошибка. Не введен код поля
";
continue;
}
$PREFIX = isSet($EXISTS_IN_TABLE[$value]) ? " CHANGE ".$value : " ADD ";
$TYPE = get_type($FIELDS['type'][$key]);
$EXISTS_IN_TEMPLATE[$value] = true;
mysql_query("ALTER TABLE ".$TABLE." ".$PREFIX." ".$value." ".$TYPE."");
echo mysql_error();
}
if (isSet($EXISTS_IN_TABLE)){
foreach($EXISTS_IN_TABLE as $key=>$value){ // Udaljajem te polja kotroije u nas v Poste otsutstvujut
if (!isSet($EXISTS_IN_TEMPLATE[$key]) and $key != "product_id"){
mysql_query("ALTER TABLE ".$TABLE." DROP ".$key."");
}
}
}
}
function get_type($type){
switch ($type){
case "text": $TYPE = " VARCHAR(255)"; break;
case "textnolang": $TYPE = " VARCHAR(255)"; break;
case "numeric": $TYPE = " FLOAT"; break;
case "boolean": $TYPE = " TINYINT UNSIGNED"; break;
case "spacer": $TYPE = " VARCHAR(255)"; break;
}
return $TYPE;
}
?>