php - 从数据库变量 php 填充下拉列表
问题描述
我正在尝试使用数据库中的变量填充下拉列表,但下拉列表显示为空白。我认为问题在于我如何回显数据。
<div class="col sm-4">
<label for="paperSelects1"><b>Select Breed to Update</b></label>
<select id='updatebreed' name='ubreed'>
<?php while($row = $result->fetch_assoc() ){
$breed_data = $row['breed'];
$dogid = $row['dogid'];
echo "<option value='$dogid'> $row </option>";
}
?>
</select>
<input type="submit" value="Submit">
</div>
这是我与数据库的连接。我哪里错了?
<?php
include("../config/connect.php");
$read = "SELECT * FROM dog_best_in_show ";
$result = $conn->query($read);
?>
解决方案
您使用了错误的未分配的 php 变量,所以请更新,所以请更新它
echo "<option value='$dogid'> $row </option>";
至
echo "<option value='$dogid'> $breed_data</option>";
所以你的完整代码将是这样的,我正在使用 pdo 连接所以这是 pdo 代码
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test";
?>
<div class="col sm-4">
<label for="paperSelects1"><b>Select Breed to Update</b></label>
<select id='updatebreed' name='ubreed'>
<?php
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT * FROM dog_best_in_show");
$stmt->execute();
// set the resulting array to associative
$result = $stmt->fetchAll();
foreach ($result as $k => $v) {
$breed_data = $v['breed'];
$dogid = $v['dogid'];
echo "<option value='$dogid'> $dogid </option>";
}
?>
</select>
<input type="submit" value="Submit">
</div>
推荐阅读
- google-cloud-platform - TERRAFORM 创建 DNS 记录集时出错:googleapi:错误 400:'entity.change.additions[0].rrdata[0] 的值无效
- kotlin - 注解处理异常:分析失败:java.lang.reflect.InvocationTargetException
- azure - 通过服务主体对 Azure HTTP 函数进行身份验证 - 没有随 client_credentials 流返回的“identity_token”
- javascript - 尝试使用 --prod 构建我的离子应用程序,但它不起作用
- java - 不能从静态上下文引用非静态字段 mFirebaseAnalytics
- php - 如何使用 PHP 从媒体二进制文件创建和保存图像文件?
- javascript - 两列或多列上 DT::table 中的闪亮合并单元格
- powershell - 使 Powershell 函数在流水线和正常调用中都能正常工作
- python - 包含列表的 SQL 变量
- ios - 如何使用响应式编程来订阅数据数组中的单项更改(插入或删除)?