Ciao,

secondo me è sbagliato proprio la logica del secondo for, di solito nel for si fa riferimento ad un'unica variabile, come nel primo caso.
Per scorrere i risultati di una query conviene utilizzare un while, quindi:
Codice PHP:
while($r mysql_fetch_array($res)) {
istruzioni...
....

Molto probabilmente il tuo secondo for non ha mai fine.
Forse conviene che posti anche il codice presente all'interno dei 2 for.