Mailinglisten-Archive |
Hallo >ich will die optionen in einem mysql-enum feld als html-auswahlliste darstellen (wie in=20 >phpMyAdmin). >kann ich die enum-informationen mit einem php-befehl rauslesen oder brauche ich dazu ein=20 >spezielles sql-query? f=FCr das habe ich mal einige Funktion geschrieben (ist ziemlich praktisch) function setenumanzeigen($tabelle,$zelle)=20 { // tabellenname,$zelle mit den enum oder set wert muss hier angegeben werden (nur auslesen) $res =3D mysql_query("SHOW COLUMNS FROM $tabelle LIKE '$zelle'"); $row =3D mysql_fetch_array($res); $type=3Dstrtok($row["Type"],"("); if($type=3D=3D"enum") { $set =3D str_replace("enum(", "", $row["Type"]); } else { $set =3D str_replace("set(", "", $row["Type"]); } $set =3D ereg_replace("\\)$", "", $set); $set =3D str_replace("'","",$set); $set =3D explode(",",$set); if($type=3D=3D"enum") { echo "<select size=3D\"1\" name=3D\"".$zelle."\">\n"; echo "<option selected value=3D\"kein\">--- Bitte w=E4hlen ---</option>"; for($a=3D0;$a<count($set);$a++) { echo "<option>".$set[$a]."</option>\n"; } } else { echo "<select size=3D\""; if(count($set)<5) { echo count($set); } else { echo "5"; } echo"\" name=3D\"".$zelle."[]\" multiple>\n"; echo "<option selected value=3D\"kein\">--- Bitte w=E4hlen ---</option>"; for($a=3D0;$a<count($set);$a++) { echo "<option>".$set[$a]."</option>\n"; } } echo "</select>\n"; } function setenum($tabelle,$zelle,$werte) { //$tabelle mit der zelle, wert mit dem verlichen werden soll dieser wird dann automatisch //ausgew=E4hlt $res =3D mysql_query("SHOW COLUMNS FROM $tabelle LIKE '$zelle'"); $row =3D mysql_fetch_array($res); $type=3Dstrtok($row["Type"],"("); if($type=3D=3D"enum") { $set =3D str_replace("enum(", "", $row["Type"]); } else { $set =3D str_replace("set(", "", $row["Type"]); } $set =3D ereg_replace("\\)$", "", $set); $set =3D str_replace("'","",$set); $set =3D explode(",",$set); if($type=3D=3D"enum") { echo "<select size=3D\"1\" name=3D\"".$zelle."\">\n"; for($a=3D0;$a<count($set);$a++) { if($werte=3D=3D$set[$a]) { echo "<option selected>".$set[$a]."</option>\n"; } else { echo "<option>".$set[$a]."</option>\n"; } } } else { echo "<select size=3D\""; if(count($set)<5) { echo count($set); } else { echo "5"; } echo"\" name=3D\"".$zelle."[]\" multiple>\n"; $werte=3Dexplode (",",$werte); for($a=3D0;$a<count($set);$a++) { if(in_array($set[$a],$werte)=3D=3Dtrue) { echo "<option selected>".$set[$a]."</option>\n"; } else { echo "<option>".$set[$a]."</option>\n"; } } } echo "</select>\n"; } mfG Thomas Michel
php::bar PHP Wiki - Listenarchive