while($j<$i)
を意味します そこに。
後に$iをインクリメントしたことを忘れないでください 最後の挿入。これは、$iが$dishの最大キーよりも高くなることを意味します。
いくつかの考え:
nullとの同等性をテストするときはいつでも、is_null
の使用を検討する必要があります。 (または!is_null)。より正確です。
これ:
$dish[$i]=$row['dishes'];
$i++;
次のようにするとよいでしょう:
// obviously instead of $i you would use count($dish) later (or use foreach)
$dish[]=$row['dishes'];
その最後のwhileループは、foreachとしてより適切です:
foreach($dish as $val)
{
echo $val;
}