Foros del Web » Programando para Internet » PHP »

Salcar listado de dos en dos

Estas en el tema de Salcar listado de dos en dos en el foro de PHP en Foros del Web. Hola a tod@s: Quiero sacar un listado resultante de un determinado SQL y que los elementos de dicho listado, en vez de uno por fila, ...
  #1 (permalink)  
Antiguo 18/10/2006, 08:03
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 1 mes
Puntos: 3
Salcar listado de dos en dos

Hola a tod@s:

Quiero sacar un listado resultante de un determinado SQL y que los elementos de dicho listado, en vez de uno por fila, vayan de dos en dos. De esta forma:

++++++++++++++++++++++++
+ Elemento 1 + Elemento 2 +
++++++++++++++++++++++++
+ Elemento 3 + Elemento 4 +
++++++++++++++++++++++++
+ .............. + .............. +
++++++++++++++++++++++++
+ Elemento m + Elemento n +
++++++++++++++++++++++++

¿Como se hace esto? ¿Como hay que manipular el recordset para conseguir esto?

Saludos,

zacktagnan.
===========================================
  #2 (permalink)  
Antiguo 18/10/2006, 08:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Revisa esta FAQ al respecto:
http://www.forosdelweb.com/showthrea...669#post240669

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 20/11/2006, 12:29
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 1 mes
Puntos: 3
Hola de nuevo, para seguir de nuevo con el tema:

Finalmente, he probado el código del enlace sugerido para sacar los resultados de la consulta por columnas.
E iría perfecto si no fuera porque no me saca el primer registro de los resultados.

Es decir, me dice bien el total de registros, por ejemplo [Total: 7], pero luego a la hora de listarlos en vez de empezar por el primer resultado, me empieza por el segundo. Luego, los siguientes salen bien.

Y no sé por qué pasa esto.

¿¿¿Alguien me puede echar una manita ó sugerirme otro código para obtener el resultado deseado???

Saludos,

zacktagnan.
===========================================
  #4 (permalink)  
Antiguo 20/11/2006, 12:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Cita:
Iniciado por zacktagnan Ver Mensaje
Hola de nuevo, para seguir de nuevo con el tema:

Finalmente, he probado el código del enlace sugerido para sacar los resultados de la consulta por columnas.
E iría perfecto si no fuera porque no me saca el primer registro de los resultados.

Es decir, me dice bien el total de registros, por ejemplo [Total: 7], pero luego a la hora de listarlos en vez de empezar por el primer resultado, me empieza por el segundo. Luego, los siguientes salen bien.

Y no sé por qué pasa esto.

¿¿¿Alguien me puede echar una manita ó sugerirme otro código para obtener el resultado deseado???

Saludos,

zacktagnan.
===========================================
Inidca como aplicastes tu código de la FAQ propuesta vs el que tu usas -completo- ...

Por ejemplo .. un "mysql_fetch_array/row()" antes de ese código de ejemplo podría ocasionar que no veas el primer registro pues "mueves el puntero" una posición hacia adelante antes de recorrer el resultado. Por eso es tan necesario no que digas que te basas en tal código sino que expongas el -código completo- que usas actualmente, de principio a fin . .no omitas nada.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 20/11/2006, 13:19
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 1 mes
Puntos: 3
Pues vale este es todo el código, aplicando el del enlace:

[PARA REALIZAR LA CONEXIÓN]
Código PHP:
<?php require_once('Connections/conex_moviljuegos.php'); ?>
<?php
mysql_select_db
($database_conex_moviljuegos$conex_moviljuegos);
$query_rs_ListaProgramas "SELECT prog_id, prog_nombre, prog_descrip, prog_precio, prog_img1 FROM programas";
$rs_ListaProgramas mysql_query($query_rs_ListaProgramas$conex_moviljuegos) or die(mysql_error());
$row_rs_ListaProgramas mysql_fetch_assoc($rs_ListaProgramas);
$totalRows_rs_ListaProgramas mysql_num_rows($rs_ListaProgramas);
?>
[SACANDO LOS RESULTADOS]
Código PHP:
<?php
echo '      <table border="0" cellspacing="0" cellpadding="2" style="width:96%;margin-left:25px;">'."\r";

$columnas 4# NÚMERO DE COLUMNAS PARA LA TABLA DE Listado de Programas (VARIABLE)

if ($totalRows_rs_ListaProgramas == 0) {
    echo 
"        <tr>"."\r";
    echo 
'          <td colspan="$columnas">No hay resultados en la BD.</td>'."\r";
    echo 
"        </tr>"."\r";
} else {
    echo 
"        <tr>"."\r";
    echo 
'          <td colspan="$columnas">'.$totalRows_rs_ListaProgramas.' Resultados</td>'."\r";
    echo 
"        </tr>"."\r";
}

for (
$i=1$row_rs_ListaProgramas mysql_fetch_row ($rs_ListaProgramas); $i++) {
    
$resto = ($i $columnas); # NÚMERO DE CELDA DEL <tr> EN QUE SE ESTÁ
    
if ($resto == 1) {echo "        <tr>"."\r";} # SI ES LA PRIMERA CELDA, SE ABRE LA FILA >> <tr>
    # SE LLAMA AL CAMPO A SACAR INDICANDO LA POSICIÓN QUE OCUPA:
    # * EN EL SELECT, SI SE HAN ELEGIDO DETERMINADOS CAMPOS
    # * EN LA TABLA, SI EN EL SELECT SE HAN ELEGIDO TODOS LOS CAMPOS PONIENDO *
    # EN AMBOS CASOS, SE EMPIEZA A CONTAR DESDE CERO
    # SEGÚN EL SQL DEFINIDO:
    # $row_rs_ListaProgramas[0] >> ID DEL PROGRAMA//prog_id, prog_nombre, prog_descrip, prog_precio, prog_img1
    # $row_rs_ListaProgramas[1] >> NOMBRE DEL PROGRAMA
    # $row_rs_ListaProgramas[2] >> DESCRIPCIÓN DEL PROGRAMA
    # $row_rs_ListaProgramas[3] >> PRECIO DEL PROGRAMA
    # $row_rs_ListaProgramas[4] >> IMAGEN PORTADA DEL PROGRAMA
    
echo "          <td>";
    if (
$row_rs_ListaProgramas[4] != "") {//CUANDO HAY IMAGEN DE PORTADA
        
echo '<a href="detalle.php?prog_id='.$row_rs_ListaProgramas[0].'" onmouseover="window.status=\' •  Ver Detalles de ['.$row_rs_ListaProgramas[1].']  •\';return true;" onmouseout="window.status=\'\';return true;" title="'.$row_rs_ListaProgramas[1].'"><img src="imags/programas/'.$row_rs_ListaProgramas[4].'" alt="'.$row_rs_ListaProgramas[1].'" width="110" height="110" border="0" />';
    } else {
//SI NO HAY IMAGEN DE PORTADA
        
echo '<img src="imags/mm_product_sm.gif" alt="small product photo" width="110" height="110" border="0" />';
    }
    echo 
"</td>"."\r";
    if (
$resto == 0) {echo "        </tr>"."\r";} # SI ES LA ÚLTIMA CELDA, SE CIERRA LA FILA >> </tr>
}
if (
$resto <> 0) { # SI EL RESULTADO NO ES MÚLTIPLO DE $columnas, SE ACABA DE RELLENAR LOS HUECOS
    
$ajust $columnas $resto# NÚMERO DE HUECOS NECESARIOS
    
for ($j 0$j $ajust$j++) {echo "<td>&nbsp;</td>"."\r";}
    echo 
"        </tr>"."\r"# SE CIERRA LA ÚLTIMA LÍNEA >> </tr>
}
//mysql_close($connexion);[B]//HE COMENTADO ESTA LÍNEA POR NO QUITARLA DIRECTAMENTE PERO NO CREO QUE ESTO INFLUYA[/B]
echo "      </table>"."\r";
?>

Última edición por Cluster; 20/11/2006 a las 17:18 Razón: Te cambié la etiqueta "code" por "php" para que se vea el código coloreado y así facilitar la lectura del mismo.
  #6 (permalink)  
Antiguo 20/11/2006, 13:25
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 1 mes
Puntos: 3
Y si es eso del mysql_fetch_row usado en el primer for y produce ese efecto de adelantar el cursor ó puntero una posición, ¿cómo poner ese parámetro del for para poner el límite de la variable i empleada y que no adelante el cursor?

Saludos,

zacktagnan.
==================================
  #7 (permalink)  
Antiguo 20/11/2006, 13:32
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Pues para eso tienes la función:

mysql_data_seek() para desplazar el púntero a la primera posición del resultado y así atacar tu código que realiza el "columnado" de los resultados.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 20/11/2006, 13:57
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 1 mes
Puntos: 3
Perdona pero todavía no soy muy experto en el PHP, y a veces me cuesta entender su código ó como está aplicado ó que quiere decir...

O sea,...

No sé si finalmente te has fijado en el código que me habías pedido...

Si el problema está en el for y en el apartado que expone la condición para siga funcionando:

Código:
for ($i=1; $row_rs_ListaProgramas = mysql_fetch_row ($rs_ListaProgramas); $i++) {
Entonces, ¿como se pone finalmente?
Si hay que incluir lo del mysql_data_seek() ¿Cómo se pone? ¿Dónde?
Lo poco que he llegado a comprender en la explicación de la página de PHP, ¿si no hay registros en la consulta daría error?

Bueno, eso, ¿me podrías explicar algo más como solucionarlo?

Perdona por las molestias...

Saludos,

zacktagnan.
==========================================
  #9 (permalink)  
Antiguo 20/11/2006, 14:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Te indicaba que el problema es que:

Código PHP:
$row_rs_ListaProgramas mysql_fetch_assoc($rs_ListaProgramas);
$totalRows_rs_ListaProgramas mysql_num_rows($rs_ListaProgramas);
?> 
Por la descripción de funcionamiento de las funciones de PHP tipo: xxx_fetch_xxx() .. lo que hacen (por si no lo sabes) es entregarte un resultado y mover el puntero intero del mismo una posición hacia adelante (y al no encontrar más resultados devuelve un "false" .. por eso lo veras mucho que lo usan bajo un while($row=mysql_fetch_xxx($resultado)) ...)

La función mysql_data_seek() mueve el puntero interno del resultado a tu antojo .. tu debes colocarlo a la posición "0" (la primera) antes de que se llame a mysql_fetch_row() que usas en el "for()" .. y por supuesto despues del otro mysql_fetch_xxx().

Lo importante es que entiendas como funcionan estas funciones "fetch" .. así veras por qué se ha de usar esa función o por qué sucede lo que observas ahora.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #10 (permalink)  
Antiguo 20/11/2006, 16:31
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 1 mes
Puntos: 3
Mira Cluster códigos de ASP los entiendo más porque desde el principio a la hora de aprender de han dado una base en cuanto a como se construye todo. Luego he yo aprendiendo.

En cuanto a PHP, lo poco que sé no ha tenido una base de código igual. Ahora estoy en un curso que da PHP pero está basado en construir todo ese código PHP a través de la interfaz del DreamWeaver, con toda la paja incomprensible que te pueda meter de propina...
Pero ya te digo, sin explicar exactamente con ó por qué ó qué función tiene cada cosa.
Por eso, a veces, me cuesta interpretar lo que está en el código.

Y cuando dices:
Cita:
Lo importante es que entiendas como funcionan estas funciones "fetch" .. así veras por qué se ha de usar esa función o por qué sucede lo que observas ahora.
Pues será eso, que no comprendo del todo como es la forma de operar de esas funciones. Es decir, ya puedo comprender que al llamar al mysql_fetch_assoc pueda pasar que el cursor se adelante una posición y tal... Como dices en:
Cita:
Por la descripción de funcionamiento de las funciones de PHP tipo: xxx_fetch_xxx() .. lo que hacen (por si no lo sabes) es entregarte un resultado y mover el puntero intero del mismo una posición hacia adelante (y al no encontrar más resultados devuelve un "false" .. por eso lo veras mucho que lo usan bajo un while($row=mysql_fetch_xxx($resultado)) ...)
Y también ¿qué quieres decir?, ¿qué el mysql_fetch_assoc funciona mejor con un while que con un for...?

Pero si pasa otra cosa no sé...

Por otro lado, a la hora de realizar las modificaciones necesarias, cuando indicas lo siguiente:
Cita:
La función mysql_data_seek() mueve el puntero interno del resultado a tu antojo .. tu debes colocarlo a la posición "0" (la primera) antes de que se llame a mysql_fetch_row() que usas en el "for()" .. y por supuesto despues del otro mysql_fetch_xxx()
Necesitaría que me indicarás aún más detalladamente como poner lo del mysql_data_seek(), cómo construirlo y dónde.
Cuando pones de ponerlo " antes de que se llame a mysql_fetch_row() que usas en el "for()" ", dices ponerlo como sigue:
Código PHP:
...
mysql_data_seek($rs_ListaProgramas0);//ESTO NO SÉ SI ESTA BIEN REDACTADO
//$rs_ListaProgramas ES EL NOMBRE DEL JUEGO DE REGISTROS CREADO PARA REALIZAR LA CONSULTA
//0 PARA INDICAR QUE EL CURSOR SE MUEVA A LA PRIMERA POSICIÓN
$row_rs_ListaProgramas mysql_fetch_assoc($rs_ListaProgramas);
$totalRows_rs_ListaProgramas mysql_num_rows($rs_ListaProgramas);
... 
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_ListaProgramas0);//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.

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?...

De nuevo, gracias por atenderme y por todas tus explicaciones y las de otros posibles foreros que se puedan aderir...

Saludos,

zacktagnan.
==================================
  #11 (permalink)  
Antiguo 20/11/2006, 17:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
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,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #12 (permalink)  
Antiguo 20/11/2006, 19:24
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 1 mes
Puntos: 3
Gracias de nuevo Cluster por lo anterior y por esta última y amplia explicación.

Trataré en la medida de lo posible seguir tus consejos.

He probado, como te exponía, a añadir en los lugares indicados la línea:
Código PHP:
mysql_data_seek($rs_ListaProgramas0); 
Y, finalmente, funciona sacándome desde el primer registro y siguientes correctamente.

Gracias Cluster.

Saludos,

zacktagnan.
=====================================
  #13 (permalink)  
Antiguo 20/11/2006, 19:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Cita:
He probado, como te exponía, a añadir en los lugares indicados la línea:

Código PHP:
mysql_data_seek($rs_ListaProgramas, 0);

Y, finalmente, funciona sacándome desde el primer registro y siguientes correctamente.
Dices en "plural" .. "en los lugares indicados", realmente sólo te hace falta UN uso de dicha función en el punto que te indiqué último .. nada más necesario que ahí sólo.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #14 (permalink)  
Antiguo 21/11/2006, 09:03
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 1 mes
Puntos: 3
Yo, de una de tus respuestas
Cita:
La función mysql_data_seek() mueve el puntero interno del resultado a tu antojo .. tu debes colocarlo a la posición "0" (la primera) antes de que se llame a mysql_fetch_row() que usas en el "for()" .. y por supuesto despues del otro mysql_fetch_xxx().
...había interpretado que hacía falta poner el mysql_data_seek() dos veces. Y como coincidía que tenía como dos apariciones del famoso mysql_fetch_assoc, pues eso que, como te exponía en mi siguiente mensaje, creía que había que ponerlo así: uno en la construcción del juego de registros antes de:
Código PHP:
$row_rs_ListaProgramas mysql_fetch_assoc($rs_ListaProgramas);
$totalRows_rs_ListaProgramas mysql_num_rows($rs_ListaProgramas); 
y luego antes de llamarlo otra vez, es decir, antes de que empiece el for dónde está contenido:
Código PHP:
for ($i=1$row_rs_ListaProgramas mysql_fetch_row ($rs_ListaProgramas); $i++) {
    
$resto = ($i $columnas);
... 
Bueno, al ver que ahora me dices que solamente hace falta una vez, ya he probado y me he dado cuenta que la única necesaria es la de antes del for.

Vale pues.

Ahora se me presenta el problema de cómo construir el paginado de esta estructura de columnas, para que en cada página salgan por ejemplo 12 productos.

Saludos,

zacktagnan.
===========================================
  #15 (permalink)  
Antiguo 21/11/2006, 18:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Cita:
Iniciado por zacktagnan Ver Mensaje
Yo, de una de tus respuestas


...había interpretado que hacía falta poner el mysql_data_seek() dos veces. Y como coincidía que tenía como dos apariciones del famoso mysql_fetch_assoc, pues eso que, como te exponía en mi siguiente mensaje, creía que había que ponerlo así: uno en la construcción del juego de registros antes de:
Código PHP:
$row_rs_ListaProgramas mysql_fetch_assoc($rs_ListaProgramas);
$totalRows_rs_ListaProgramas mysql_num_rows($rs_ListaProgramas); 
y luego antes de llamarlo otra vez, es decir, antes de que empiece el for dónde está contenido:
Código PHP:
for ($i=1$row_rs_ListaProgramas mysql_fetch_row ($rs_ListaProgramas); $i++) {
    
$resto = ($i $columnas);
... 
Bueno, al ver que ahora me dices que solamente hace falta una vez, ya he probado y me he dado cuenta que la única necesaria es la de antes del for.

Vale pues.

Ahora se me presenta el problema de cómo construir el paginado de esta estructura de columnas, para que en cada página salgan por ejemplo 12 productos.

Saludos,

zacktagnan.
===========================================
Para esa taréa te puedes orientar del código de:

Paginator (de Jpinedo)
http://jpinedo.webcindario.com/scripts/paginator/

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:26.