Je bedoelt while($j<$i)
daar.
Onthoud dat je $i hebt verhoogd na de laatste inzet. Dit betekent dat $i hoger zal zijn dan de maximale sleutel van $dish.
Enkele gedachten:
Elke keer dat u test op gelijkheid met null, kunt u overwegen is_null
te gebruiken (of !is_null). Het is nauwkeuriger.
Dit:
$dish[$i]=$row['dishes'];
$i++;
Zou beter zijn als:
// obviously instead of $i you would use count($dish) later (or use foreach)
$dish[]=$row['dishes'];
Die laatste while-lus zou beter zijn als foreach:
foreach($dish as $val)
{
echo $val;
}