Foros del Web » Programando para Internet » PHP »

Lectura secuencial a MySQL de 2 en 2 registros

Estas en el tema de Lectura secuencial a MySQL de 2 en 2 registros en el foro de PHP en Foros del Web. Tengo un sript en PHP que hace una lectura a una tabla MySQL, todo trabaja perfecto con lo siguiente: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original ...
  #1 (permalink)  
Antiguo 07/06/2011, 17:39
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 3 meses
Puntos: 21
Lectura secuencial a MySQL de 2 en 2 registros

Tengo un sript en PHP que hace una lectura a una tabla MySQL, todo trabaja perfecto con lo siguiente:

Código PHP:
Ver original
  1. $consulta = mysql_query("SELECT llave, fecha, titulo
  2.                     FROM tablax", $link) or die ("No se pudo ejecutar la consulta (1)");
  3.  
  4. while ($fila = mysql_fetch_row($consulta)) {
  5.    echo "<tr>";
  6.    echo   '<td>'. $fila[0] .'</td>';
  7.    echo   '<td>'. $fila[1] .'</td>';
  8.    echo   '<td>'. $fila[2] .'</td>';
  9.    echo "</tr>";
  10. }

En mi tabla tengo 1000 renglones, por lo que el script me despliega una tabla de 1000x3 (Mil renglones en tres columnas).

Deseo desplegar esta información, en una tabla de 500x6 (500 renglones en 6 columnas).

PRIMER RENGLON A DESPLEGAR:
- La información MySQL del renglón 1 se debe desplegar en las columnas 1,2,3.
- La información MySQL del renglón 2 se debe desplegar en las columnas 4,5,6.

SEGUNDO RENGLON A DESPLEGAR:
- La información MySQL del renglón 3 se debe desplegar en las columnas 1,2,3
- La información MySQL del renglón 4 se debe desplegar en las columnas 4,5,6.

y así sucesivamente.

Deseo que en vez de una tabla de 1000x3, lograr una tabla de 500x6.

Espero haberme explicado.

He buscado pero no he podido resolverlo.

¿Existe la posibilidad de leer la información de 2 en 2 registros de MySQL? Ello resolvería mi necesidad.

Gracias anticipadas

Estoy tratando de resolverlo directamente con PHP, aunque me gustaría escuchar sugerencias. Lo que haría es leer con PHP no desplegar información hasta tener 2 registros leídos.

Saludos cordiales
  #2 (permalink)  
Antiguo 07/06/2011, 18:03
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 13 años, 10 meses
Puntos: 55
Respuesta: Lectura secuencial a MySQL de 2 en 2 registros

pues es sencillo creas un condición si es impar entra en las primeras 3 columnas y si es par entra en las segundas 3 columnas, tan sencillo como eso

saludos...
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O
  #3 (permalink)  
Antiguo 07/06/2011, 20:36
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Lectura secuencial a MySQL de 2 en 2 registros

exacto..

$i = 1;
while ($fila = mysql_fetch_row($consulta)) {
if ($i % 2 == 0) // es ar
else es impar
}
  #4 (permalink)  
Antiguo 07/06/2011, 22:03
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 3 meses
Puntos: 21
Respuesta: Lectura secuencial a MySQL de 2 en 2 registros

Gracias por sus comentarios, lo resolví de manera muy similar.

Almacené la información de la lectura impar en variables, posteriormente, al tener la lectura par, despliego la información impar y par.

Mi inconveniente es que debo estar atento al finalizar de leer la tabla y analizar si es impar. Voy a integrar sus sugerencias a mi rutina y lograr lo que requiero.

Gracias
  #5 (permalink)  
Antiguo 08/06/2011, 05:14
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Lectura secuencial a MySQL de 2 en 2 registros

si mejor lo haces todo en el mismo while, es mas rapido asi

Etiquetas: lectura, mysql, registros
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:59.