No, read what mrhappiness wrote carefully.
You are calling mysql_fetch_assoc() once before your loop.
Try calling it twice before the loop.
You will then see that the first 2 result sets are not processed by the loop.
And rightly so, since the result pointer to the rows has moved down by 2.
To reset the pointer, one can use [man]mysql_data_seek/man
Better yet, if you can avoid calling mysql_fetch_assoc() before the loop, then only call it within the loop.