[英]PHP / MySQL: Data from MySQL not display in Select Option (dropdown list)
I created a dropdown list where all the data is populated from a column in a MySQL database table.我创建了一个下拉列表,其中所有数据都是从 MySQL 数据库表中的一列填充的。 The problem is, the data is not displayed.
问题是,数据不显示。 I don't know why.
我不知道为什么。 Below is my code:
下面是我的代码:
PHP PHP
<?php
//getting id from url
$badgeid = $_GET['badgeid'];
//selecting data associated with this particular id
$sql = "SELECT * FROM users LEFT JOIN roles on users.roles_id = roles.roles_id LEFT JOIN team on users.team_id = team.team_id WHERE badgeid = :badgeid";
$query = $conn->prepare($sql);
$query->execute(array(':badgeid' => $badgeid));
while($row = $query->fetch(PDO::FETCH_ASSOC))
{
$badgeid = $row["badgeid"];;
$fullname = $row["fullname"];
$roles_id = $row["roles_id"];
$roles_name = $row["roles_name"];
$team_id = $row["team_id"];
$team_name = $row["team_name"];
}
?>
html html
<tr>
<td width="20%"><b>Team</b></td>
<td width="80%">
<select class="form-control" id="exampleFormControlSelect1" name="team_name">
<?php echo "<option value='".$row["team_name"]."'>".$row["team_name"]."</option>"; ?>
</select>
</td>
</tr>
change in php at while loop like this,像这样在while循环中更改php,
<?php
//getting id from url
$badgeid = $_GET['badgeid'];
//selecting data associated with this particular id
$sql = "SELECT * FROM users LEFT JOIN roles on users.roles_id = roles.roles_id LEFT JOIN team on users.team_id = team.team_id WHERE badgeid = :badgeid";
$query = $conn->prepare($sql);
$query->execute(array(':badgeid' => $badgeid));
$rows = $query->fetchAll(PDO::FETCH_ASSOC);
foreach($rows as $row)
{
$badgeid[] = $row["badgeid"];;
$fullname[] = $row["fullname"];
$roles_id[] = $row["roles_id"];
$roles_name[] = $row["roles_name"];
$team_id[] = $row["team_id"];
$team_name[] = $row["team_name"];
}
?>
you are directly fetch in while loop , so it skipping first row , so you have not no data in $row .您直接在 while 循环中获取,因此它跳过第一行,因此 $row 中没有数据。 And also use fetchAll() so it fetch all row of table .
并且还使用 fetchAll() 以便它获取 table 的所有行。 fetch() only one row.
fetch() 只有一行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.