У меня есть база данных, содержащая список учеников с их именами и доступными книгами (список книг, сериализованных, хранящихся в одной строке). Я и теперь, пытаясь отобразить всех учеников и список книг, которые они использовали, я создал цикл в цикле, но дело в том, что он просто отображает первую запись. Он отображает прекрасную, но только первую запись.PHP Loop with in a loop
mysql_select_db("MYDB", $con);
$result = mysql_query("Select * From EnrolleeList where Gradelvl = 2 Order By Lname ASC");
while($row=mysql_fetch_array($result))
{
echo $row['name'] . " " . $row['lastname'];
$glvl = $row['Gradelvl'];
$getbooks = $row['BookList']; //data containing book list
$getbooks = unserialize($getbooks);
$arrlength = count($getbooks);
for($actr = 0; $actr < $arrlength; $actr++)
{
$result = mysql_query("Select * From ELEMBooks where GradeLevel = '$glvl' and BID = '$getbooks[$actr]' ");
while($row = mysql_fetch_array($result))
{
echo $row['Subject'];
echo " - ";
echo $row['Book'];
echo " - ";
echo $row['Weight'];
echo " - ";
}
}
}
mysql_close($con);
Просто использовать другое имя переменной для внутреннего цикла '$ row',' $ result' и т.д. иначе ваши верхние значения вар будет перезаписывать и верхняя часть петли будет не в состоянии получить правильный –