Cuando haces mysql_query, almacenas en $resultado un array con todos los datos devueltos.
Imagina que te devuelve una tabla con todos los campos que has pedido en la consulta SQL, ok?
Bien, empiezas a leer la primera fila y muestras los datos con $row ['campo'], cuando haces $row[$i]=mysql_fetch_array($resultado) lo que hace es pasar a la siguiente fila de resultados.
Asi hasta que el for termine.
Tambien se puede hacer esto con un while sin tener que contar el numero de resultados devueltos.
Algo asi:
Código PHP:
while ($row=mysql_fetch_array($resultado)) {
echo $row ['campo'];
}
Saludos