Foros del Web » Programando para Internet » PHP »

Visualizar valores de un array en grupos

Estas en el tema de Visualizar valores de un array en grupos en el foro de PHP en Foros del Web. Hola:he intentado indagar en distintos foros pero no encuentro la manera de hacerlo; quisiera que los valores de un campo de una tabla en mysql ...
  #1 (permalink)  
Antiguo 10/04/2012, 05:52
 
Fecha de Ingreso: abril-2012
Mensajes: 8
Antigüedad: 12 años
Puntos: 0
Visualizar valores de un array en grupos

Hola:he intentado indagar en distintos foros pero no encuentro la manera de hacerlo; quisiera que los valores de un campo de una tabla en mysql (los nombres de unos clientes, por ejemplo) se mostrasen en filas pero no uno en cada fila, sino agrupados; es decir, en la primera fila los 5 primeros valores, en la segunda los 5 siguientes, etc... He intentado utilizar for each y break, pero no lo consigo...Si alguien pudiese darme una pista....¡Gracias!
  #2 (permalink)  
Antiguo 10/04/2012, 06:18
Avatar de wsoul  
Fecha de Ingreso: octubre-2010
Mensajes: 190
Antigüedad: 13 años, 6 meses
Puntos: 13
Respuesta: Visualizar valores de un array en grupos

Código PHP:
Ver original
  1. $c = 0;
  2. while(...) {
  3. if($c==0) { echo "<p>"; }
  4. echo $nombre." ";
  5. if($c==5) { echo "</p>"; $c==0; }
  6. $c++;
  7. }
algo así ?
__________________
Compra y Vender artículos en https://www.losredactores.com o una comunidad de webmasters ? https://webeamos.com
  #3 (permalink)  
Antiguo 10/04/2012, 06:19
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Visualizar valores de un array en grupos

Código PHP:
Ver original
  1. <?php
  2. ini_set("display_errors", 1);
  3. $resultados = array(1,2,3,2,3,4,5,4,5,6,7,6,5,4,5,4,3,4,5,6,7,8,9,0);
  4. $pagina = 5;
  5. $table = "<table>";
  6. for($i=0;$i<count($resultados);$i += $pagina)
  7. {
  8.     $table .= "<tr bgcolor='#CCCCCC'>";
  9.     for($j = 0; $j<$pagina; $j++)
  10.     {
  11.         if(array_key_exists(($i+$j), $resultados))$table .= "<td >{$resultados[$i+$j]}</td>";
  12.         else $table .= "<td ></td>";
  13.     }
  14.     $table .= "</tr>";
  15. }
  16.  
  17. $table .= "</table>";
  18. echo $table;
  19. ?>
__________________
Fere libenter homines, id quod volunt, credunt.
  #4 (permalink)  
Antiguo 10/04/2012, 06:50
 
Fecha de Ingreso: abril-2012
Mensajes: 8
Antigüedad: 12 años
Puntos: 0
Respuesta: Visualizar valores de un array en grupos

¡Mil gracias! Probaré vuestra sopciones a ver si lo consigo....
  #5 (permalink)  
Antiguo 10/04/2012, 08:53
 
Fecha de Ingreso: abril-2012
Mensajes: 8
Antigüedad: 12 años
Puntos: 0
Respuesta: Visualizar valores de un array en grupos

Tu ejemplo funciona perfectamente, gracias. El problema lo tengo cuando quiero sustituir el array de la variable $resultados:
$resultados = array(1,2,3,2,3,4,5,4,5,6,7,6,5,4,5,4,3,4,5,6,7,8, 9,0);
por mi array de la base de datos:
$resultados= array($fila_alumnado['nombre']);
Me salen todos los registros pero en la primera columna de la tabla que se crea...
Algo algo mal, seguro...
  #6 (permalink)  
Antiguo 10/04/2012, 10:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Visualizar valores de un array en grupos

Cita:
Iniciado por atxis Ver Mensaje
Tu ejemplo funciona perfectamente, gracias. El problema lo tengo cuando quiero sustituir el array de la variable $resultados:
$resultados = array(1,2,3,2,3,4,5,4,5,6,7,6,5,4,5,4,3,4,5,6,7,8, 9,0);
por mi array de la base de datos:
$resultados= array($fila_alumnado['nombre']);
Me salen todos los registros pero en la primera columna de la tabla que se crea...
Algo algo mal, seguro...
No puedes crear una array a partir de una cadena de texto separada por comas, ¿sabes la diferencia entre un string y un array verdad?

Lo que necesitas es convertir la cadena en array, y eso lo consigues usando la función explode(), ya que acepta una carácter de separador para hacer la conversión.
Código PHP:
$foo '1,2,3,4,5';
$bar explode(','$foo);

echo 
$bar[1]; // 2 
PDTA: la respuesta no siempre se encuentra en los foros, se encuentra estudiando y leyendo la documentación casi todo el tiempo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 10/04/2012, 11:09
 
Fecha de Ingreso: abril-2012
Mensajes: 8
Antigüedad: 12 años
Puntos: 0
Respuesta: Visualizar valores de un array en grupos

Gracias. Probaré de nuevo con explode. La verdad es que ya lo había probado pero algo falló. estudiando y leyendo la documentación lo había encontrado, pero como no me salía acudí al foro. Disculpad si ha sido una molestia.
Gracias de nuevo.
  #8 (permalink)  
Antiguo 11/04/2012, 02:36
 
Fecha de Ingreso: abril-2012
Mensajes: 8
Antigüedad: 12 años
Puntos: 0
Respuesta: Visualizar valores de un array en grupos

El código que tengo hecho, gracias a vuestras aportaciones es éste:


Código PHP:
session_start();
include(
"conectar.php");
$link=Conectarse();
$alumnado=mysql_query("SELECT * FROM alumnado WHERE grupo='3 años A--TIL A'"$link);
$fila_alumnado=mysql_fetch_assoc($alumnado);
$nombres=$fila_alumnado['nombre'];

    
error_reporting(E_ALL);
    
ini_set("display_errors"1);
    
    
    
$resultados=explode(','$nombres);
            
    
$pagina 5;
    
$table "<table>";
    for(
$i=0;$i<count($resultados);$i += $pagina)
    {
        
$table .= "<tr bgcolor='#CCCCCC'>";
        for(
$j 0$j<$pagina$j++)
        {
            if(
array_key_exists(($i+$j), $resultados))$table .= "<td >{$resultados[$i+$j]}</td>";
            else 
$table .= "<td ></td>";
        }
        
$table .= "</tr>";
    }
     
    
$table .= "</table>";
    echo 
$table

Sé que algo he hecho mal al querer obtener el array, ya que sólo me devuelve un valor del campo. He intentado hacer un bucle, pero entonces me salen todos los valores en la primera columna de la tabla.

Etiquetas: mysql
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 05:01.