質問する
7046 次
2 に答える
8
Vanilla PHP implementation:
<select>
<?
$result = mysql_query('SHOW COLUMNS FROM '.$table_name.' WHERE field="'.$column_name.'"');
while ($row = mysql_fetch_row($result)) {
foreach(explode("','",substr($row[1],6,-2)) as $option) {
print("<option>$option</option>");
}
}
?>
<select>
PHP Data Objects implementation
<select>
<?
$sql = 'SHOW COLUMNS FROM '.$table_name.' WHERE field="'.$column_name.'"';
$row = $db->query($sql)->fetch(PDO::FETCH_ASSOC);
foreach(explode("','",substr($row['Type'],6,-2)) as $option) {
print("<option>$option</option>");
}
?>
</select>
于 2012-05-30T22:13:46.217 に答える
4
列挙値を配列に取得して必要に応じて使用する場合はいつでも、ヘルパー関数として使用できる別のソリューションを次に示します。
public static function getSQLEnumArray($table, $field, $db){
$row = $db->query("SHOW COLUMNS FROM ".$table." LIKE ".$field)->fetch(PDO::FETCH_ASSOC);
preg_match_all("/'(.*?)'/", $row['Type'], $categories);
$fields = $categories[1];
return $fields;
}
于 2014-02-25T18:19:37.603 に答える