将 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
}
}
然而条目总是空的。我按照 Populating dropdown list
中的建议使用 <?=
和 <?php echo
检查了这是否是 php 语法问题
运气不好。所以接下来我检查了我的查询结果中是否真的有东西所以我简单地用一个字符串变量替换了下拉条目:
<?php
$varName= 'testingList';
?>
<option value=""><?= $varName ?></option>
我再次尝试了两种语法选项,但仍然没有成功(即 testingList 没有出现在下拉列表中)。相反,我得到一个新的空白下拉选项,即添加了 1 个空条目。 (PS。分配的值也将是相同的变量,但我现在将其遗漏以确保它不是问题 - 所以只关注在下拉菜单中获取变量名称)。
当前 运行ning PHP 远程服务器上的 5.5.9;这个问题也是地方性的。非常感谢任何想法。谢谢!
更新
当我独立 运行 .php 文件时,工作正常。但不是在 Flask 环境中,所以我想我会添加我在 Flask 中工作的事实。
您需要从 $col
回显 Field
,试试这个:
<option value=""><?= $col['Field'] ?></option>
我已经通过将所有内容切换到 Flask 来解决这个问题。由于这是一个多下拉菜单,即在第一个下拉菜单中选择的值填充第二个下拉菜单,我将第一个下拉菜单中的所选值通过 Ajax 发送回 flask,并使用 flask![= 填充第二个下拉菜单10=]
我最初使用这个脚本来填充带有查询结果的下拉菜单:
<?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
}
}
然而条目总是空的。我按照 Populating dropdown list
中的建议使用<?=
和 <?php echo
检查了这是否是 php 语法问题
运气不好。所以接下来我检查了我的查询结果中是否真的有东西所以我简单地用一个字符串变量替换了下拉条目:
<?php
$varName= 'testingList';
?>
<option value=""><?= $varName ?></option>
我再次尝试了两种语法选项,但仍然没有成功(即 testingList 没有出现在下拉列表中)。相反,我得到一个新的空白下拉选项,即添加了 1 个空条目。 (PS。分配的值也将是相同的变量,但我现在将其遗漏以确保它不是问题 - 所以只关注在下拉菜单中获取变量名称)。
当前 运行ning PHP 远程服务器上的 5.5.9;这个问题也是地方性的。非常感谢任何想法。谢谢!
更新
当我独立 运行 .php 文件时,工作正常。但不是在 Flask 环境中,所以我想我会添加我在 Flask 中工作的事实。
您需要从 $col
回显 Field
,试试这个:
<option value=""><?= $col['Field'] ?></option>
我已经通过将所有内容切换到 Flask 来解决这个问题。由于这是一个多下拉菜单,即在第一个下拉菜单中选择的值填充第二个下拉菜单,我将第一个下拉菜单中的所选值通过 Ajax 发送回 flask,并使用 flask![= 填充第二个下拉菜单10=]