Scripts
enum -> selectbox
Ik moest een dynamisch formulier maken welke de velden gebruikt uit mijn MySQL. Er moesten ook SELECT boxen komen, maar jah die vul je of met de hand, of je maakt een tabel aan met de waardes. ik wilde het anders doen. daarom heb ik een functie gemaakt die de ENUM waardes uit een veld leest en deze in een SELECT box zet. er zit ook een $skip optie in, deze is voor als je bijvoorbeeld wilt dat een waarde niet word meegenomen, je kan er meerdere values inzetten gesplitst door een komma. hoe te gebruiken ?
enum-selectbox
[code]
<?php
function enum($object) {
list($table, $col) = explode(".", $object);
$row=@mysql_fetch_assoc(mysql_query("SHOW COLUMNS FROM ".$table." LIKE '".$col."'"));
return ($row ? explode("','",preg_replace("/(enum|set)\('(.+?)'\)/","\\2",$row['Type'])) : array(0=>'None'));
}
?>
[/code]
[code]
<?php
function create_selectbox($cat,$table, $search, $skip=false){
$skip = explode(',',$skip);
$row = @mysql_fetch_assoc($query = mysql_query("SELECT $cat FROM $table WHERE $search='".@$_GET['id']."'"));
echo "<SELECT name=\"".$cat."\" style=\"margin:1px 0;width:300px;\">\n";
echo "\t<option value=\"\">Maak uw keuze</option>\n";
foreach(enum("PSH.".$cat) as $item){
if (!in_array($item,$skip))
echo "\t<option value=\"".$item."\" ". (($row[$cat] == $item) ? "selected=\"selected\"" : "") .">".get_txt($item)."</option>\n";
}
echo "</SELECT>";
}
?>
[/code]
Reacties
0