Foros del Web » Programando para Internet » PHP »

Transponer una tabla (php/mysql)

Estas en el tema de Transponer una tabla (php/mysql) en el foro de PHP en Foros del Web. Hola a todos, Tengo una consulta que me genera una tabla y quisiera transponerla, es decir pasar lo que son filas a columnas y columnas ...
  #1 (permalink)  
Antiguo 20/12/2005, 20:36
 
Fecha de Ingreso: agosto-2004
Mensajes: 347
Antigüedad: 13 años, 3 meses
Puntos: 3
Transponer una tabla (php/mysql)

Hola a todos,

Tengo una consulta que me genera una tabla y quisiera transponerla, es decir pasar lo que son filas a columnas y columnas a filas.

¿Alguien sabe como se hace?
  #2 (permalink)  
Antiguo 21/12/2005, 13:51
 
Fecha de Ingreso: agosto-2004
Mensajes: 347
Antigüedad: 13 años, 3 meses
Puntos: 3
a nadie se le ocurre?
  #3 (permalink)  
Antiguo 21/12/2005, 13:58
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
Si pusieras el código que estas usando tal vez se pueda ayudar...

Para que fin necesitas esto? (Si, la curiosidad mato al gato:p)
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #4 (permalink)  
Antiguo 21/12/2005, 15:08
 
Fecha de Ingreso: octubre-2004
Mensajes: 751
Antigüedad: 13 años, 2 meses
Puntos: 4
Bueno la verdad es que no se si existe una función que haga lo que necesitas automáticamente pero creo, repito "creo" (porque me he liado bastante ) que el siguiente código debería funcionar.

$resultado es el array que te devuelve la consulta a Mysql.

Código PHP:
<?
$filas
=count($resultado[1]);//cuentas las filas que habrá contando las columnas de uno de los registros
$columnas=count($resultado);//cuentas las columnas que habrá contando los registros totales
$campos=array_keys($resultado);//copio los nombres de los diferentes  campos

for($i=0;$i<$filas;$i++){//por cada fila nueva
   
for($e=0;$e<$columnas;$e++){//y por cada columna
       
$tablafinal[$i][$campos[$e]]=$resultado[$e][$i];//asignas el valor
   
}
}
?>
Saludos,
__________________
sergiold
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:07.