私はアイテムのリストを要求する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
関連付けられた配列をフェッチしています。これは、1つの行を返します。 'for'の代わりに 'while($ row = mysqli_fetch_assoc($ buscarCurso)){... echo stuff ...}'行数を取得する必要はありません –