항목 목록을 요청하는 MySQL 쿼리가 있습니다.PHP : 모든 항목을 루핑하는 대신 첫 번째 항목을 반복하는 루프?
내가 가져 와서 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>';
}
?>
의도 된 결과는 다음과 같습니다
Curso 1
Curso 2
Curso 3
대신 내가 얻을
Curso 1
Curso 1
Curso 1
추가 print_r ($ curso); 'for' 루프 전에 먼저 $ curso [ 'nombreCurso'] 필드가 무엇인지 살펴보십시오. –
PHP 문서에서 설명한대로하지 않는 이유는 무엇입니까? 네가 그랬듯이, 그것은 사실 잘못되었다. 결과 집합에서 앞으로 나아갈 수 없습니다. – trincot
하나의 행을 리턴하는 연관된 배열을 반입 중입니다. 'for' 대신'while ($ row = mysqli_fetch_assoc ($ buscarCurso)) {... echo stuff ...}'행 수를 얻을 필요가 없습니다. –