使用MySQL数据库字段枚举值填充PHP组合框
我想创建一个组合框(最终使用jqueryajax进行操作),其中填充了数据库表字段中的使用MySQL数据库字段枚举值填充PHP组合框,php,mysql,database,Php,Mysql,Database,我想创建一个组合框(最终使用jqueryajax进行操作),其中填充了数据库表字段中的enum值 我的目标是以后使用这些选项过滤页面上的mysql\u查询结果 我认为最好的方法是echo整个表单和组合框,使用enum值作为选项标记值。我的不足之处在于首先知道如何调用enum值 如果你有更好的建议,请告诉我 谢谢 我找到了下面的代码,它似乎满足了我的需要。但是,它似乎从我的表中获取了所有枚举数组,并将每个数组转换成一个组合框。这不是问题,因为我希望为每个单独的数组创建组合框。不过,我想更改它的顺
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解析。但是,我认为在代码或其他表中维护列表可能比作为枚举值更好。非常感谢您的响应。我将尝试这样做,但是我发现了一段可能有效的代码并将其发布在上面。这似乎不仅查询枚举值,而且还查询将结果回显到组合框中。我在上面指定了我的问题。