Foros del Web » Programando para Internet » PHP »

Mostrar datos en forma vertical, ayuda!

Estas en el tema de Mostrar datos en forma vertical, ayuda! en el foro de PHP en Foros del Web. Buenas Necesito saber como ordenar unas tablas para que quede de esta manera: AAAA EEEEE IIIIII BBBB FFFFFF JJJJJJ CCCC GGGGG KKKK DDDD HHHHH LLLLL ...
  #1 (permalink)  
Antiguo 07/05/2009, 15:01
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 8 meses
Puntos: 3
Mostrar datos en forma vertical, ayuda!

Buenas

Necesito saber como ordenar unas tablas para que quede de esta manera:

AAAA EEEEE IIIIII
BBBB FFFFFF JJJJJJ
CCCC GGGGG KKKK
DDDD HHHHH LLLLL

Ahora esta haciendo esto:

AAAA BBBBB CCCC
DDDD EEEEE FFFFF
GGGG HHHHH IIIIIII

Como puedo hacer eso que pido?

solo hago esto, se puede hacer de otra manera para que quede como quiero?

Código PHP:
$r1=tep_db_query("select * from international_dealer order by country"); 
  #2 (permalink)  
Antiguo 07/05/2009, 15:40
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Mostrar datos en forma vertical, ayuda!

Lo mas cercano que conozco a eso es:

select *from tabla \G

Claro está, desde mysql. Con programación sería posible ordenar los datos de esa forma.

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 07/05/2009, 15:46
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 20 años, 8 meses
Puntos: 3
Respuesta: Mostrar datos en forma vertical, ayuda!

con php sabes alguna manera de hacerlo?,

yo hago esto para mostrar

Código PHP:
<? 
    $Query 
"select * from internet_dealer";
    
$Res mysql_query($Query);
              
$i=0;    
               echo 
"<table align=center>";

$columnes 5# Número de columnas (variable)

if (($rows=mysql_num_rows($Res))==0) {
  echo 
"<tr><td colspan=$columnes><div align='center' class='style20'><br>
  </div></td></tr>"
;
} else {
  echo 
"<tr><td colspan=$columnes></td></tr>";
}

for (
$i=1$row mysql_fetch_array ($Res); $i++) {
$resto = ($i &#37; $columnes); # Número de celda del <tr> en que nos encontramos
if ($resto == 1) {echo "<tr>";} # Si es la primera celda, abrimos <tr>
    
echo "<td><a href='http://$row[webaddress]'>$row[company_name]</a></td>"
if (
$resto == 0) {echo "</tr>";} # Si es la última celda, cerramos </tr>
}
if (
$resto <> 0) { # Si el resultado no es múltiple de $columnes acabamos de rellenar los huecos
$ajust $columnes $resto# Número de huecos necesarios
for ($j 0$j $ajust$j++) {echo "<td>&nbsp;</td>";}
echo 
"</tr>"# Cerramos la última línea </tr>
}
echo 
"</table>";
               if(
$i%3==0)
               {
                 echo 
"</tr><tr>";
               }
?>
                <?
                $i
++;
?>
Pero no se como hacerlo de esa forma, alguna solucion?

ese \G con php no sirve...
  #4 (permalink)  
Antiguo 07/05/2009, 15:53
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Mostrar datos en forma vertical, ayuda!

Nunca lo he hecho en php, pero en asp.net tiraba la consulta a un datatable (Que para php sería algo como un mysql_fetch_array) y con dos for anidados recorría las celdas y las pasaba a un arreglo.

Puedes preguntar en el foro de php como puedes hacerlo.

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 08/05/2009, 12:24
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Mostrar datos en forma vertical, ayuda!

Amigos,
he reportado el hilo para que los moderadores lo muevan al foro PHP.
Por eso mismo me atrevo a hacer una primera propuesta PHP, aclarando que es parcial, puesto que está pensada para controlar el número de columnas y líneas. Naturalmente si hay que trabajar con paginación, habrá que hacer más ajustes. Seguro que nuestros amigos del foro PHP lo mejorarán, pues no soy muy ducho con los arrays.
Código PHP:
<?php
$host
="localhost";
$user="root";
$passwd="";
$db="base";
//Creamos la conexión
$link mysql_connect($host$user$passwd);
mysql_select_db($db$link);


$columnes =7# Número de columnas (variable)
$filas 8#Número de filas por página (variable)
$ref=$columnes $filas;
    
$Query "select id, campo from tabla ORDER BY tabla LIMIT $ref";
    
$Res mysql_query($Query);
     
               echo 
"<table align=center>";
$i=0;
while (
$dato=mysql_fetch_assoc($Res))

$resto=$i &#37; $filas;//saco el resto de dividir el contador por el número de filas
$valor=str_pad($resto2"0"STR_PAD_LEFT).'/'.$dato['campo'];//para luego  poder ordenar el array como quiero, reúno en la variable, $resto, / y el campo.
$newarray[$dato['id']]=$valor//asigno el valor al array y dejo el id como índice, por si quiero recuperarlo.
$i++;

natcasesort($newarray);//ordeno con case insensitive por la variable $valor, manteniendo la clave del array (ordena primero por resto y luego por palabra
$cont=1;
echo 
"<table>";
foreach (
$newarray as $key => $val) { 
$res=$cont%$columnes;//divido el contador por el número de columnas y saco el resto.
$data=explode("/"$val);//separo el valor del resto.
if ($res==1) {echo "<tr><td>".$data[1]."</td>";} elseif ($res==0) {echo "<td>".$data[1]."</td></tr>";} else {echo "<td>".$data[1]."</td>";}
$cont++;
}
echo 
"</table>";
?>
Pruébalo. He usado en parte la sintaxis de SeNdEr2003
  #6 (permalink)  
Antiguo 11/05/2009, 12:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Mostrar datos en forma vertical, ayuda!

Tema trasladado desde MySQL

http://www.forosdelweb.com/f21/funci...-datos-413499/
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:18.