Ý bạn là while($j<$i)
ở đó.
Hãy nhớ rằng, bạn đã tăng $ i sau lần chèn cuối cùng. Điều này có nghĩa là $ i sẽ cao hơn khóa tối đa của $ món ăn.
Vài suy nghĩ:
Bất cứ khi nào bạn đang kiểm tra sự bình đẳng với null, bạn nên cân nhắc sử dụng is_null
(hoặc! is_null). Nó chính xác hơn.
Cái này:
$dish[$i]=$row['dishes'];
$i++;
Sẽ tốt hơn như:
// obviously instead of $i you would use count($dish) later (or use foreach)
$dish[]=$row['dishes'];
Vòng lặp while cuối cùng đó sẽ tốt hơn với vai trò là một foreach:
foreach($dish as $val)
{
echo $val;
}