Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP/MySQL:来自MySQL的数据不显示在选择选项(下拉列表)中_Php_Mysql - Fatal编程技术网

PHP/MySQL:来自MySQL的数据不显示在选择选项(下拉列表)中

PHP/MySQL:来自MySQL的数据不显示在选择选项(下拉列表)中,php,mysql,Php,Mysql,我创建了一个下拉列表,其中所有数据都是从MySQL数据库表中的一列填充的。问题是,数据不显示。我不知道为什么。下面是我的代码: PHP html 团队 php在while循环中的更改如下: <?php //getting id from url $badgeid = $_GET['badgeid']; //selecting data associated with this particular id $sql = "SELECT * FROM users LEFT JOIN r

我创建了一个下拉列表,其中所有数据都是从MySQL数据库表中的一列填充的。问题是,数据不显示。我不知道为什么。下面是我的代码:

PHP


html


团队

php在while循环中的更改如下:

<?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"];
}

?>


您直接在while循环中获取数据,所以它跳过第一行,所以$row中并没有数据。并使用fetchAll()以获取表中的所有行。fetch()仅一行。

是否尝试通过命令行运行查询?$query->fetch在获取最后一条记录后将返回false,因此,
$row
在while循环后将包含false。您进行了显式的工作,将行值分配给循环中的专用变量,但之后您不再使用这些变量,而是尝试使用$row。我猜你期望的结果中最多有一条记录?那么为什么要首先使用循环呢?
而($row)
–那将是一个无止境的循环,因为$row在循环中永远不会被修改。@Zar Ni Ko,对不起。你的回答错了。从badgeid开始的未定义索引,直到团队名称再次检查我的ans@Radamel Falcao
<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>
<?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"];
}

?>