我有一个请求项目列表的 MySQL 查询。
我获取它们并想用 for 循环显示每个项目,但它只显示重复的第一个项目,而不是每个项目。
为什么?
<?php
$conectar = mysqli_connect(HOST, USER, PASS, DATABASE);
$query = " SELECT cursoID, nombreCurso, estadoCurso
FROM cursos
WHERE estadoCurso='abierto'";
$buscarCurso = mysqli_query($conectar,$query);
$curso=mysqli_fetch_assoc($buscarCurso);
$totalRows = mysqli_num_rows($buscarCurso); //There are 3 rows of results
echo $totalRows;
for ($i=0; $i < $totalRows; $i++) {
echo '<br>';
echo $curso['nombreCurso'];
echo '<br>';
}
?>
预期的结果是:
光标 1
光标 2
光标 3
相反,我得到了
光标 1
光标 1
光标 1
最佳答案
您的循环应该在每次迭代时从结果集中获取。标准方法(如 PHP documentation 中给出的许多示例)是在 while
条件下执行此操作:
$totalRows = mysqli_num_rows($buscarCurso); //There are 3 rows of results
echo $totalRows;
while ($curso=mysqli_fetch_assoc($buscarCurso)) {
echo '<br>';
echo $curso['nombreCurso'];
echo '<br>';
}
关于PHP:重复第一项而不是遍历所有项目的循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38573900/