Foros del Web » Programando para Internet » PHP »

mostra la información en 3 columnas

Estas en el tema de mostra la información en 3 columnas en el foro de PHP en Foros del Web. Buenas, estoy mirando para poder mostrar la información en 3 columnas o lo que sería lo mismo agrupar los terminos de 3 en 3, en ...
  #1 (permalink)  
Antiguo 03/06/2007, 01:59
 
Fecha de Ingreso: agosto-2006
Mensajes: 219
Antigüedad: 17 años, 8 meses
Puntos: 0
mostra la información en 3 columnas

Buenas, estoy mirando para poder mostrar la información en 3 columnas o lo que sería lo mismo agrupar los terminos de 3 en 3, en cada fila.

¿alguien me puede hechar un cable?

oskar
  #2 (permalink)  
Antiguo 03/06/2007, 02:42
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 18 años, 10 meses
Puntos: 7
Re: mostra la información en 3 columnas

Hace algo mas de un año hice una pregunta como esta, y el gran y ausente Cluster me envio aqui: http://www.forosdelweb.com/showthrea...669#post240669
que es lo que necesitas si no me equivoco .

Saludos.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #3 (permalink)  
Antiguo 03/06/2007, 03:01
 
Fecha de Ingreso: agosto-2006
Mensajes: 219
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: mostra la información en 3 columnas

gracias bytevamp. pero en vez de tablas yo utilizo div y labels para organizar la información, tendré que ver como hacerlo.

yo estaba pensando en algo tal que así

while ($rows=mysql_num_rows($result)){
for ($i=0; $i< 3; $si++)
{
if ($i==3)
echo '<br>';
else if
echo ', ';
}?>
<label>
<?php echo $rows $i; ?> </label>
<?php
}
?>

(nota es una idea rápida y no se si funcionaría, no termino de controlar muy bien los if, for, while, etc...

la idea es que el while me va imprimiendo los resultados.
el for le da un valor al resultado (no cojo el índice del array), y cuando llegue a 3 me ponga una etiqueta br. El problema, y es mi duda, no se como hacer para que cuando llegue a 3 vuelva a empezar de nuevo el recuento de for.

Si alguien me puede decir si esto es posible lo agradecería.

Un saludo

oskar
  #4 (permalink)  
Antiguo 03/06/2007, 16:11
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 4 meses
Puntos: 11
Re: mostra la información en 3 columnas

Usa algo así (no el FOR):

Cuidado no uses mysql_num_rows porque esa función lo que hace es darte la cantidad de resultados de tu consulta. Debes usar mysql_fetch_array().

Código PHP:
$contador 1
while ($rows=mysql_fetch_array($consulta)){
 
echo 
$rows['dato'];
 
if (
$contador == 3) {
echo 
"<br>";
$contador 1;
}
else
$contador++;
 

No lo probe lo redacté al vuelo pero debería funcionar.
SAludos
  #5 (permalink)  
Antiguo 03/06/2007, 16:30
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: mostra la información en 3 columnas

Mira a ver si te sirve esto: http://www.forosdelweb.com/f18/mostrar-datos-columnas-451217/
  #6 (permalink)  
Antiguo 03/06/2007, 22:47
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 4 meses
Puntos: 11
Re: mostra la información en 3 columnas

Si pero el no usa tablas sino capas.
  #7 (permalink)  
Antiguo 04/06/2007, 02:49
 
Fecha de Ingreso: abril-2004
Ubicación: Valencia
Mensajes: 436
Antigüedad: 20 años
Puntos: 8
Re: mostra la información en 3 columnas

Hola,
a mi me gustaria tambien organizar la info por columnas pero en un fichero. De momento lo estoy haciendo introduciondo tabulados con "\t" pero no me convence porque no teniendo todas las palabras la misma longitud se van corriendo las cosas. Sabeis si se puede dejar rollo asi?

asfads asdasdffasfqw asfasfsfs
12 asdfasd sdsf
sdf123 asfsafsdsasdfsas asfsafasfs

Pero además haciendo coincidir el inicio de columna? Porque a mi lo de arriba con tabuladores me sale así:

asfads asdasdffasfqw asfasfsfs
12 asdfasd sdsf
sdf123 asfsafsdsasdfsas asfsafasfs

No se si me entendeis. Por supuesto me gustaria dejarlo de una forma automática es decir, sin tener que modificar el numero de tabulados en funcion de la palabra que aparezca y tal, ya que las palabras cambian sin que yo pueda predecirlas.

Gracias de antemano,
saludos.

EDITADO: vaya, despues de enviar el post me doy cuenta de que no se han mostrado las columnas como yo queria, pero bueno, creo que me habeis comprendido. Si no, lo aclarare diciendo que me gustaria que en el fichero aparecieran las columnas tan bien como en una tabla HTML.

Última edición por cnyx; 04/06/2007 a las 02:52 Razón: aclaración
  #8 (permalink)  
Antiguo 04/06/2007, 06:52
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 4 meses
Puntos: 11
Re: mostra la información en 3 columnas

Bien! Hay muchos post en forosdelweb sobre ese tema, pero hice una función bastante sencilla y funciona muy bien pero muy bien...

Código PHP:
$columnas 3;
$contador 0;
 
echo 
"<table width=$ancho border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr>";
 
while (
$rows mysql_fetch_array($consulta)) {
 
  if (
$contador == $columnas) {
   
$contador 0;
   echo 
"<tr></tr>";
  }
  
$contador++;
 
  echo 
"<TD>".$rows['nombre']."</TD>";
 
}
 
// Luego que termino de imprimir todos los resultados debo completar las celdas si faltan para que la tabla quede bien armada
 
$total mysql_num_rows($consulta);
 
$tmp=$total/$columnas;
 
while (
gettype($tmp) != "integer"){ // Si no es integer entonces no es múltiplo del nº de columnas
 
 
echo "<td>&nbsp;</td>";
 
$total++;
 
$tmp=$total/$columnas;
 
}
 
//Cerramos la tabla
echo "</table>"
Con este sencillo código n vas a tener problemas, obvio lo puedes usar para hacer una función o para hacer un método de clase y te queda chiche bombón!

Lo hice hace bastante y con un poco más de complejidad la uso y anda muy bien.

Espero qye te sirva.

Saludos
  #9 (permalink)  
Antiguo 05/06/2007, 01:09
 
Fecha de Ingreso: agosto-2006
Mensajes: 219
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: mostra la información en 3 columnas

Muchas gracias gente

Estoy viendo que solo tendo 3 opciones.

tablas.
crear un div por cada fila como si fuese un tr.
la tercera es más complicada, a ver que consigo con todo esto y lo posteo en el foro.

un saludo

oskar calvo.
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 17:02.