使用MySQL数据库字段枚举值填充PHP组合框

使用MySQL数据库字段枚举值填充PHP组合框,php,mysql,database,Php,Mysql,Database,我想创建一个组合框(最终使用jqueryajax进行操作),其中填充了数据库表字段中的enum值 我的目标是以后使用这些选项过滤页面上的mysql\u查询结果 我认为最好的方法是echo整个表单和组合框,使用enum值作为选项标记值。我的不足之处在于首先知道如何调用enum值 如果你有更好的建议,请告诉我 谢谢 我找到了下面的代码,它似乎满足了我的需要。但是,它似乎从我的表中获取了所有枚举数组,并将每个数组转换成一个组合框。这不是问题,因为我希望为每个单独的数组创建组合框。不过,我想更改它的顺

我想创建一个组合框(最终使用jqueryajax进行操作),其中填充了数据库表字段中的
enum

我的目标是以后使用这些选项过滤页面上的
mysql\u查询结果

我认为最好的方法是
echo
整个表单和组合框,使用
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>";
        }
    }
}
$table=“images”;
$descripe=mysql_查询(“descripe$table”);
而($ligne=mysql\u fetch\u数组($descripe)){
提取物($ligne);
if(substr($Type,0,4)='enum'){
$liste=substr($Type,5,strlen($Type));
$liste=substr($liste,0,(strlen($liste)-2));
$enums=分解(“,”,$liste);
如果(sizeof($enums)>0){
回音“\n”;
对于($i=0;$i),您可以使用:

SELECT column_type FROM information_schema.columns WHERE table_name = :myTable AND column_name = :myColumn
这将返回如下内容:

enum('one','two','three')

您可以用php解析。但是,我认为在代码或其他表中维护列表可能比作为枚举值更好。

非常感谢您的响应。我将尝试这样做,但是我发现了一段可能有效的代码并将其发布在上面。这似乎不仅查询
枚举值,而且还查询
将结果回显到组合框中。我在上面指定了我的问题。