Foros del Web » Programando para Internet » PHP »

Mostrar un array dividiendolo en varias partes

Estas en el tema de Mostrar un array dividiendolo en varias partes en el foro de PHP en Foros del Web. Hola, Esta es la situacion: -Mi consulta genera un array con X filas de datos. Cada fila de datos se dibuja en una DIV cuadrada ...
  #1 (permalink)  
Antiguo 22/04/2012, 14:22
 
Fecha de Ingreso: mayo-2011
Mensajes: 10
Antigüedad: 12 años, 11 meses
Puntos: 0
Mostrar un array dividiendolo en varias partes

Hola,

Esta es la situacion:

-Mi consulta genera un array con X filas de datos. Cada fila de datos se dibuja en una DIV cuadrada que ocupa 250px de ancho. Mi sitio tiene 1000px de ancho.

-Mi intencion es mostrar las 4 primeras filas contenidas en el array de datos que genera mi query y luego, si hay mas de 4 filas, mostrar las siguientes 4 filas en otra tanda que se vea por debajo de la anterior y asi sucesivamente hasta que se hayan mostrado todos los records.

Como podría hacer esto?

Este es mi codigo actual:

Código:
<?php 
   // Connecto a db 
 mysql_connect("localhost", "usuario", "pasw") or die(mysql_error()); 
 mysql_select_db("database") or die(mysql_error()); 
 
 // REcolecto los datos 
 $data = mysql_query("SELECT * FROM tabla") 
 or die(mysql_error()); 
?>
 
<div style="position: absolute; left:-150px; top:0; bottom:0px; background-color: blue;	float: left; height: 200px; width: 150px;">
 
<?php   
 //genero el array y hago un loop
 
 while($info = mysql_fetch_array( $data )) 
 { 
 Print "<div class='cuadrado'>"; 
 Print "<b> ".$info['dato1'] . "</b><br><br>"; 
 Print "<b> ".$info['dato2'] . "</b><br><br>"; 
 Print "<b> ".$info['dato3'] . "</b><br><br>";
 } 
 Print "</div>"; 

?>

</div>

Desde ya muchas gracias y perdón si es una pregunta un poco noob, pero ya se me agotaron las ideas sobre como googlear por una solucion =/
  #2 (permalink)  
Antiguo 22/04/2012, 14:46
 
Fecha de Ingreso: septiembre-2010
Mensajes: 53
Antigüedad: 13 años, 7 meses
Puntos: 4
De acuerdo Respuesta: Mostrar un array dividiendolo en varias partes

Código PHP:
Ver original
  1. <?php
  2.    // Connecto a db
  3.  mysql_connect("localhost", "usuario", "pasw") or die(mysql_error());
  4.  mysql_select_db("database") or die(mysql_error());
  5.  
  6.  // REcolecto los datos
  7.  $data = mysql_query("SELECT * FROM tabla") or die(mysql_error());
  8. ?>
  9.  
  10. <div style="float: left;  background-color: blue; height: 200px; width: 150px; overflow:auto;">
  11.  
  12. <?php  
  13.  //genero el array y hago un loop
  14.  
  15.  while($info = mysql_fetch_array($data))
  16.  {
  17.          Print "<div class='cuadrado'>";
  18.          Print "<b> ".$info['dato1'] . "</b><br/><br/>";
  19.          Print "<b> ".$info['dato2'] . "</b><br/><br/>";
  20.          Print "<b> ".$info['dato3'] . "</b><br/><br/>";
  21.          Print "</div>";
  22.  }
  23.  
  24.  
  25. ?>
  26.  
  27. </div>
  #3 (permalink)  
Antiguo 22/04/2012, 16:13
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Mostrar un array dividiendolo en varias partes

Te refieres a esto ?

Código PHP:
Ver original
  1. $my_array = array(1,2,3,4,5,6,7,8);
  2.  
  3.  
  4. foreach ($my_array as $field){
  5.    
  6.     if (($field % 4) == 0)  {
  7.    
  8.         echo $field."<br>";
  9.        
  10.     } else {
  11.    
  12.         echo $field;
  13.  
  14.          } 
  15.    
  16. }
  #4 (permalink)  
Antiguo 22/04/2012, 17:08
 
Fecha de Ingreso: mayo-2011
Mensajes: 10
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Mostrar un array dividiendolo en varias partes

Me parece que si. La verdad es que como soy tan nuevo en php se me dificulta entender del todo lo que me sugeris y me gustaría entender lo que estoy haciendo =/. Quizas me lo podrías explicar un poco mas si fuera tan amable?


Entiendo que a los conjuntos de 4 los llamas $field.
IF --> Cuando ya hay 4 en un field, hace un "echo $field "<br>";
ELSE --> hace un echo $field;

Pero me pierdo en la parte de que pones array (1,2,3,4,5,6,7,8); ...esto que significa? QUe puedo poner hasta 8 files de datos dentro del array que llamo $my_array? Donde quedaria el array que yo vengo usando que se llama $info?

Desde ya muchas gracias!

Última edición por gmkhul; 22/04/2012 a las 17:18
  #5 (permalink)  
Antiguo 22/04/2012, 17:29
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Mostrar un array dividiendolo en varias partes

Ok mira mi anterior codigo tenia un pequeno error ahora me doy cuenta, te voy a exponer algo similar mas facil de interpretar.


Código PHP:
Ver original
  1. # Este array es un ejemplo de lo que vas a recibir de tu db
  2. $my_array = array(1,2,3,4,5,6,7,8,10,23,45,67,80,90,29,39);
  3.  
  4. $col = 0;
  5. foreach ($my_array as $field){
  6.    
  7.     if($col == 4){
  8.        
  9.         echo $field."<br />";
  10.  
  11.         $col = 0;
  12.     }else{
  13.        
  14.         echo $field;   
  15.     }
  16.    
  17.     $col++;
  18.    
  19. }

La idea es que cuando col sea igual a 4 instrodusca un salto de linea para que los datos caigan debajo.

Saludos.
  #6 (permalink)  
Antiguo 23/04/2012, 20:40
 
Fecha de Ingreso: mayo-2011
Mensajes: 10
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Mostrar un array dividiendolo en varias partes

Muchas gracias por el codigo y la explicacion,

Lamentablemente estoy probando aplicarlo y no me funciona. Debo estar aplicandolo de modo incorrecto evidentemente.

Si algun alma caritativa esta con ganas de indicarme cual es la forma correcta de aplicar este codigo que me brinda gjx2 lo agradecere.

Ya me veo utilizando varis entradas con array_slice sino que la verdad no me parece que sea la mejor forma seguramente =/

Gracias desde ya!
  #7 (permalink)  
Antiguo 24/04/2012, 20:08
 
Fecha de Ingreso: mayo-2011
Mensajes: 10
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Mostrar un array dividiendolo en varias partes

Me doy un UP a ver si alguien me da una mano con esto

Etiquetas: mysql, partes, sql, tabla, usuarios
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 16:25.