Ros*_*nda 0 php mysql for-loop
我有一个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>';
}
?>
Run Code Online (Sandbox Code Playgroud)
预期的结果是:
Curso 1
Curso 2
Curso 3
相反,我得到了
Curso 1
Curso 1
Curso 1
您的循环应该在每次迭代时从结果集中获取.标准方式(如在PHP文档中给出的许多示例中)是在以下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>';
}
Run Code Online (Sandbox Code Playgroud)