Setiap kali Anda memanggil mysql_fetch_array itu menarik baris berikutnya dari kueri Anda. while loop terus mengembalikan true saat mysql_fetch_array masih memiliki sesuatu yang tersisa untuk ditetapkan ke variabel $row2 . Setelah keluar dari baris, tidak ada yang tersisa untuk diberikan variabel, dan false dikembalikan.
PETA: Mengenai bit terakhir yang Anda sebutkan, Anda dapat memiliki peningkatan variabel di setiap iterasi loop seperti pada contoh Anda, tetapi itu tidak sepenuhnya diperlukan. Anda juga dapat melihat berapa banyak baris yang dikembalikan dengan melakukan sesuatu seperti $var = mysql_num_rows($data) sebelum while lingkaran.