Ciao a tutti, ho una tabella su un DB mySql con un campo ENUM. Ho usato una funzione trovata in rete per andare a prendere i valori del suddetto campo, ma poi quando ho creato la select in maniera molto ingarbugliata come risultato mi dà ogni valore dell'enum ripetuto due volte nella tendina e tutti i valori insieme ripetuti una dozzina di volte. in più mi si impalla il browser, non riesce a caricare del tutto la pagina e va in crash.
ecco il codice, aspetto le vostre legnate e i vosti suggerimenti
ecco il codice, aspetto le vostre legnate e i vosti suggerimenti
PHP:
function enum_select($table,$field) {
$result=mysql_query("SHOW COLUMNS FROM `$table` LIKE '$field'");
if(mysql_num_rows($result)>0){
$row=mysql_fetch_row($result);
$options=explode("','", preg_replace("/(enum|set)\('(.+?)'\)/","\\2", $row[1]));
$options2 = array();
foreach ($options as $value) {
$options2[] = array(
'value' => $value,
'display' => htmlentities($value)
);
}
echo "<br /><br />";
print_r($options2);
#echo $options2;
} else {
$options=array();
}
return $options2;
}
echo "
<select name=\"scegli_tipo\">
";
while ($matrioshka_tipo = enum_select("opera","opera_tipo")){
foreach ($matrioshka_tipo as $array_interno)
foreach ($array_interno as $valore)
if (isset($_POST["scegli_tipo"]) && $_POST["scegli_tipo"] == $valore)
echo "<option value='{$valore}' selected='selected'>{$valore}</option>";
else
echo "<option value='{$valore}'>{$valore}</option>";
}
echo "</select>";