Sólo un apunte:
Esto:
Código PHP:
<?
$contador=0;
while($result2 = mysql_fetch_array($q)){
$contador++;
?>
Es lo mismo que esto:
Código PHP:
<?
for($contador=0; $result2 = mysql_fetch_array($q); $contador++){
?>
La única diferencia es que la segunda opción ocupa una sola línea.