Lo que pasa es que al ejecutar una consulta mysql_query() se genera un juego de resultados, al que solo puedes tener acceso mediante funciones como mysql_fetch_row(), mysql_fetch_assoc(), mysql_fetch_array(), etc. y cada llamada con estas funciones hace que avance el apuntador en los resultados obtenidos por la consulta.
Lo que haces en tu ciclo for() es simplemente ejecutar mysql_fetch_array() tantas veces como resultados obtuviste de la consulta, pero bien podrias cambiar el bucle por while(condicion) {}