Za każdym razem, gdy dzwonisz do mysql_fetch_array
pobiera następny wiersz z zapytania. To while
pętla zwraca true, podczas gdy mysql_fetch_array
wciąż ma coś do przypisania do zmiennej $row2
. Po wyczerpaniu wierszy nie ma już nic do przekazania zmiennej i zwracana jest wartość false.
ETAP: Jeśli chodzi o ostatni fragment, o którym wspomniałeś, możesz mieć zmienną inkrementację w każdej iteracji pętli, tak jak w twoim przykładzie, ale nie jest to całkowicie konieczne. Możesz również zobaczyć, ile wierszy zostało zwróconych, wykonując coś takiego jak $var = mysql_num_rows($data)
przed twoim while
pętla.