Yo creo que lo mejor no es que te explique .. sino que acudas al manual oficial de referencia y lo veas ahí mismo ...
www.php.net/mysql .. fijate en las funciones que usas y su descripción.
Si te digo que una función al "llamarla" te entraga un resultado y mueve su puntero interno del resultado una posición adelante y que al no tener más resultados que obtener te devuelve "FALSE" (un "boolean") pues lo que entrega un "mysql_query()" no es más que un "resultado" . .un "array" por decirlo así el cual tienes que "sacar" la información que tu quieres a base de uso de funciones del tipo "xxx_fetch_xxx()" o incluso mysql_result(), si por otro lado te fijas que es un bucle tipo "while()" (Mientras que ....) veras el sentido de hacer construcciones como veras en cientos de ejemplos tipo:
while($row=mysql_fetch_array($resultado)
"mientras que $row sea verdadero .. dá otra vuelta a ese bucle .. ".
Hasta que no tengas claro esa forma de trabajar de PHP al obtener resultados de una consulta SQL .. lo cual no es válido solo a "Mysql" es exactamente igual para cualquier BBDD que uses con PHP y funciones de PHP para obtener sus resultados adecuadas, no entenderas por qué usan un "while()" o usan un "for()" ni cual te beneficia más .. simplemente harás código que te "funcionará" y no sabras por qué .. en definitiva ante un problema como el que tienes .. no veras la "falta" de alguna función para hacer lo que ya te he comentado que te hace falta: mover ese puntero a donde tu necesites.
Cita: Y luego, al decir " ...después del otro mysql_fetch_xxx()... " ¿quieres decir poner lo mismo antes del mysql_fetch_xxx() que lleva el for que va a hacer el bucle de resultados, de esta manera?:
Código PHP:
...
mysql_data_seek($rs_ListaProgramas, 0);//ESTO NO SÉ SI ESTA BIEN REDACTADO
for ($i=1; $row_rs_ListaProgramas = mysql_fetch_row ($rs_ListaProgramas); $i++) {
$resto = ($i % $columnas);
...
Espero me lo confirmes.
Esa es la opción correcta .. Tu función anterior:
$row_rs_ListaProgramas = mysql_fetch_assoc($rs_ListaProgramas);
deja el puntero una posición adelante .. y así como ya ves, tu siguiente aplicación de cualquier función "xxx_fetch_xxx()" no empieza dese el primer resultado obtenido por la ejecución de tu consulta .. sino desde el 2°.
Cita: Sino, lo que yo planteaba desde un principio, lo de sacar el resultados por columnas, ¿tu como lo hubieras hecho?, ¿hay alguna forma más sencilla?...
Más sencillo que usar la función que te comendo -donde corresponde- sobra.
En tu caso presentas o necesitas obtener el dato del "total" de registros que tu consulta arrojará antes de aplicar el código que te hace las "columnas" del resultado dado.
Otra opción como creo que te comenté es usar SQL:
Código PHP:
$rs_ListaProgramas="SELECT COUNT(*) AS total,etc campos .... etc SQL ...";
La función COUNT() de SQL ya me dá el total .. lo mismo que hacerlo por PHP con su función mysql_num_rows() .. incluso mejor por qué la función de PHP lo que hace realmente es una vez obtenido el resultado los cuenta y con SQL y su función COUNT() quien hace esa cuenta es el motor de tu BBDD así liberas de carga a PHP para un proceso que hace mucho mejor tu BBDD. En general toda cosa que puedas resolver con SQL será mejor que recurrir a tu lenguaje de programación (y esto es aplicable a cualquier lenguaje no sólo a PHP).
De esta forma simplemente accedo directo al resultado que necesito:
Código PHP:
$totalRows_rs_ListaProgramas=mysql_result($rs_ListaProgramas,0,"total");
En lugar de tu:
$totalRows_rs_ListaProgramas = mysql_num_rows($rs_ListaProgramas);
La función mysql_result() no mueve el puntero .. pues accede directo al resultado que tu indicas .. así luego puedes usar cualquier "xxx_fetch_xxx()" sin problemas pues el puntero no lo tocastes .. sigue en el principio del resultado dado.
En definitiva se trata de conocer más el lenguaje .. sus funciones del tema correspondiente (en este caso:
www.php.net/mysql) y sobre todo saber como trabajan .. el resto es "lógica" simple .. los bucles (while() .. for() .. ) existen en todo lenguaje.
Si en lugar de aprender -cualquier- lenguaje a base de ejemplos que te pueden resultar o no .. vas entendiendo lo que haces dese la base te irá mejor .. Y para eso puedes recurrir al manual oficial de referencia de PHP que para eso lo tenemos (en línea y accesible) .. Es un manual de referencia, no esperes grandes explicaciones ni grandes ejemplos .. pero se basa en que antes ya has visto otros temas o bien tienes ciertos "conceptos" claros.
En cualquier caso simpre puedes acudir al foro en busca de explicaciones "teóricas" sobre algo .. no sólo uses el foro para preguntas "puntuales" con cierto código y que alguien te dé la solución sin más explicaciones: desde un primer momento te podría haber puesto la línea de código que necesitas con una respuesta tipo "prueba así" .. y listo (ese no es mi estilo .. me gusta que si es posible se -aprenda- para que otro día tu mismo te resuelvas el problema aplicando esos "conceptos" que aprendistes de una forma u otra).
Un saludo,