我想创建一个组合框(最终使用 jQuery Ajax 操作它),其中填充了数据库表字段中的 enum
值。
我的目标是稍后使用这些选项过滤页面上的 mysql_query
结果。
我认为最好的方法是 echo
整个表单和组合框,将 enum
值作为 选项
标签值。我的不足之处在于首先知道如何调用 enum
值。
如果您对如何执行此操作有更好的建议,请告诉我!
谢谢。
我找到了以下代码,它似乎可以满足我的需要。但是,它似乎从我的表中获取了所有 enum 数组
,并将每个数组转换为一个组合框。这不是问题,因为无论如何我都希望为每个单独的数组创建组合框。但是,我想更改它的顺序。有什么方法可以编辑此代码来控制每组?或者甚至让它指定我想回显哪个字段,然后根据需要重复多次?我知道这样做会意味着更多的代码,而且效率不高。
PHP:
$table="images";
$describe=mysql_query("describe $table");
while ($ligne=mysql_fetch_array($describe)){
extract($ligne);
if (substr($Type,0,4)=='enum'){
$liste=substr($Type,5,strlen($Type));
$liste=substr($liste,0,(strlen($liste)-2));
$enums=explode(',',$liste);
if (sizeof($enums)>0){
echo "<select name='enum'>\n";
for ($i=0; $i<sizeof($enums);$i++){
$elem=strtr($enums[$i],"'"," ");
echo "<option value='".$elem."'>".$elem."</option>\n";
}
echo "</select>";
}
}
}
我想我应该提一下,包含 enums
的三个字段是 imgFamily
、imgClass
和 imgGender
。我希望组合框按此顺序排列。
最佳答案
您可以使用:
SELECT column_type FROM information_schema.columns WHERE table_name = :myTable AND column_name = :myColumn
这将返回如下内容:
enum('one','two','three')
你可以在 php 中解析它。但是,我认为在代码或另一个表中维护列表可能比作为枚举值更好。
关于php - 使用 MySQL 数据库字段枚举值填充 PHP 组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7153855/