Mailinglisten-Archive |
Hy Martin, > hat jemand von euch einen Lösungsvorschlag, wie > man am geschicktesten enum-Werte aus einer > Datenbank in ein Drop-Down Feld bringen kann? > Hab mir die Lösung bei phpmyadmin angeschaut und > hab sie nicht so geblickt. > Danke für die Hilfe. ich hab mir letztens mal eine function gebastelt die alle werte von einer mysql tabelle in einem array ablegt. function mysql_get_table_struct($table_name_input) { $arr_table_name = array(); if(is_array($table_name_input)) { $arr_table_name = $table_name_input; } elseif(is_string($table_name_input)) { $arr_table_name[] = $table_name_input; } foreach($arr_table_name AS $table_name) { $query = "SHOW FIELDS FROM ".$table_name; $result = mysql_query($query); // echo $query."<br>"; $mysql_table[$table_name] = array(); $arr_mysql_table = array(); while($row = mysql_fetch_assoc($result)) { $arr_mysql = array(); $arr_mysql["Field"] = $row["Field"]; $arr_type = preg_split("/[(?'^,)]+/",$row["Type"]); $arr_mysql["Type"] = array_shift($arr_type); if($arr_mysql["Type"] == "enum" || $arr_mysql["Type"] == "set" ) { $arr_enum_values = array(); foreach($arr_type AS $type) { if(isset($type) && !empty($type)) { $arr_enum_values[] = $type; } } $arr_mysql["Values"] = $arr_enum_values; } else { if(isset($arr_type[0]) && !empty($arr_type[0])) { $arr_mysql["Values"] = $arr_type[0]; } if(isset($arr_type[1]) && !empty($arr_type[1])) { $arr_mysql["Attributes"] = $arr_type[1]; } } $arr_mysql["Null"] = $row["Null"]; $arr_mysql["Key"] = $row["Key"]; $arr_mysql["Default"] = $row["Default"]; $arr_mysql["Extra"] = $row["Extra"]; $arr_mysql_table[] = $arr_mysql; } $mysql_table[$table_name] = $arr_mysql_table; } mysql_free_result($result); return $mysql_table; } versuch dann mal: $arr_tabellen = array("tabellenname"); print_r(mysql_get_table_struct($arr_tabellen)); greets /dany
php::bar PHP Wiki - Listenarchive