php - 选择不使用函数显示的选项
问题描述
我正在尝试在 PHP 中动态显示选择选项的值。基本上用户创建那些存储在数据库中的选项,然后我试图在不同的地方获取它。为此,我编写了以下函数:
function fetch_acad_yr($conn) {
$query = "SELECT a.fk_acadyear_id as acadyearid,b.acad_year as acadyear FROM tbl_admparam a inner join list_acad_years b on a.fk_acadyear_id = b.pk_acad_year_id";
$stmt = $conn->prepare($query);
if ($stmt->execute()) {
foreach ($stmt as $row) {
?>
<option value="<?php echo $row['acadyearid'] ?>"><?php echo $row['acadyear'] ?></option>
<?php
}
}
}
然后在html中我调用了这个函数
<select class="form-control" id="acad_period" name="acad_period" required>
<option value="">Please select...</option>
<?php fetch_acad_yr($conn); ?>
</select>
但是选项不显示任何值,它只是空白,并没有显示存储在数据库中的值。我尝试单独运行查询,查询返回所需的结果
解决方案
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "dbname";
// Create connection
$con = new mysqli($servername, $username, $password,$dbname);
if ($con->connect_error)
{
die("Connection failed: " . $con->connect_error);
}
?>
<select name="acad_period" required="">
<option value="0">Select</option>
<?php
$s= "SELECT a.fk_acadyear_id as acadyearid,b.acad_year as acadyear FROM tbl_admparam a inner join list_acad_years b on a.fk_acadyear_id = b.pk_acad_year_id";
$ex= $con->query($s);
if (!$ex)
{
echo("Error description: " . mysqli_error($con));
}
else
{
while ($f= $ex->fetch_assoc())
{
?>
<option value="<?php echo $f['acadyearid'] ?>"><?php echo $f['acadyear'] ?></option>
<?php
# code...
}
}
?>
</select>
推荐阅读
- excel - VBA:如果然后在之后有2个语句
- http-redirect - 重定向到这样的网址是否安全:“https://example.com/”+ userData?
- html - 边框没有回来,从 EDGE 中的元素中删除了悬停
- javascript - 用于 Firefox 的带有 unicode 符号的复选框
- node.js - Travis 部署阶段未在条件下运行,如果:分支 = 主和标签存在并且类型 = 推送
- python - 在python中删除带有条件的行
- amazon-web-services - AWS Lambda 访问 API Gateway
- amazon-kinesis - Kinesis 消耗滞后监控
- wso2 - 消息存储支持回滚?
- python - Keras 中的权重共享