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

标签 php mysql database

我想创建一个组合框(最终使用 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 的三个字段是 imgFamilyimgClassimgGender。我希望组合框按此顺序排列。

最佳答案

您可以使用:

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/

相关文章:

php - 将 ElFinder 与现有权限系统集成

php 从字符串中提取一些数字

php - LINES TERMINATED BY 和 FIELDS TERMINATED BY 的多种可能性 - MySQL

sql-server - 如何以有效的方式覆盖数据库中的重复数据?

java - 什么是最具值(value)的 Java 对象数据库?

php - 搜索这种类型的数据库结构的最佳方法?

php.ini 文件不起作用?

php - mysqli bind_param 失败或抛出非对象错误?

javascript - 从查询字符串(表 tr td)foreach 行获取值到 jquery ui 对话框

mysql - 为什么对 wp_postmeta 的引用这么慢?