将php变量添加到下拉菜单中(在Flask中)


Adding php variable to dropdown menu (in Flask)

我最初有这个脚本来用查询结果填充下拉菜单:

<?php
require_once("dbcontroller.php");
$db_handle = new DBController();
if(!empty($_POST["data_id"])) {
    $query ="SHOW COLUMNS FROM table_name";
    $results = $db_handle->runQuery($query);
?>
    <option value="">Select Parameter</option>
<?php
    foreach($results as $col) {
?>
    <option value=""><?= $col ?></option>
<?php
    }
}

然而,条目总是空的。我检查了这是否是使用<?=<?php echo的php语法问题,如填充下拉列表中所建议的那样

运气不好。所以接下来我检查了我的查询结果中是否真的有什么,所以我简单地用字符串变量替换了下拉条目:

<?php
$varName= 'testingList';
?>
    <option value=""><?= $varName ?></option>

我再次尝试了两种语法选项,但仍然没有成功(即testingList没有显示在下拉列表中)。相反,我得到了一个新的空白下拉选项,即添加了一个空条目。(PS。分配的值也将是相同的变量,但我现在将其省略,以确保这不是一个问题——所以只关注在下拉菜单中获得变量名)。

目前在远程服务器上运行PHP 5.5.9;这个问题也是地方性的。非常感谢任何想法。谢谢

更新

当我独立运行.php文件时,它运行得很好。但不是在烧瓶环境中,所以我想补充一下我在烧瓶工作的事实。

您需要从$col回显Field,请尝试以下操作:

<option value=""><?= $col['Field'] ?></option>

我已经通过将所有内容切换到烧瓶来解决这个问题。由于这是一个多下拉菜单,即第一个下拉菜单中选择的值填充第二个下拉菜单,因此我通过Ajax将第一个下拉列表中选择的数值发送回flask,并使用flask填充第二下拉列表!