Foros del Web » Programando para Internet » PHP »

leer campos de un tabla variable

Estas en el tema de leer campos de un tabla variable en el foro de PHP en Foros del Web. hola hice un pivot en sqlserver 2010, todo bien hasta ahi, el detalle esta que la tabla es dinamica, los campos varian de nombre cada ...
  #1 (permalink)  
Antiguo 23/04/2015, 08:03
 
Fecha de Ingreso: agosto-2009
Ubicación: Lima
Mensajes: 226
Antigüedad: 14 años, 7 meses
Puntos: 3
leer campos de un tabla variable

hola

hice un pivot en sqlserver 2010, todo bien hasta ahi,
el detalle esta que la tabla es dinamica, los campos varian de nombre cada vez que se ejecuta el proceso

lo normal se hace esto
<?php
$c=0;
for ($j=0; $j<count($esp); $j++) { ?>
<tr class="content" style="text-align:justify; padding:11px;">
<td style="text-align:justify; padding:10px;"><?php echo $esp[$j]->cod_esp;?></td>
<td style="text-align:justify; padding:10px;"><?php echo $esp[$j]->des_esp;?></td>
</tr>
<?php } ?>

pero el detalle esta en que no se los nombres de los campos


alguna sugerencia?


MUCHAS GRACIAS!!!
  #2 (permalink)  
Antiguo 23/04/2015, 13:11
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: leer campos de un tabla variable

que varian?
se debe tratar de una tabla temporal
entonces debes hacer una query "DESCRIBE TABLE"
https://dev.mysql.com/doc/refman/4.1/en/describe.html

pero como sabes a qué campos quiere acceder, debe existir algun patron
por ejemplo que los nombres de los campos cambien pero que siempre se mantengan en el mismo lugar
deberias consultar al administrador de ese sql que te diga cual es el patron de la tabla variable

o bien que te haga una vista

pero no es nada imposible, aca es una tema de comunicacion
  #3 (permalink)  
Antiguo 23/04/2015, 13:38
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: leer campos de un tabla variable

Si al final los datos de una fila o registro de la tabla los obtienes como arreglo, sea numérico o asociativo con los nombres de los campos, los puedes recorrer con un foreach

foreach($fila as $i =>$valor)
echo "$valor";
  #4 (permalink)  
Antiguo 24/04/2015, 06:20
 
Fecha de Ingreso: agosto-2009
Ubicación: Lima
Mensajes: 226
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: leer campos de un tabla variable

Cita:
Iniciado por ocp001a Ver Mensaje
Si al final los datos de una fila o registro de la tabla los obtienes como arreglo, sea numérico o asociativo con los nombres de los campos, los puedes recorrer con un foreach

foreach($fila as $i =>$valor)
echo "$valor";

No logro hacer lo que me dices, tengo este array (he recortado para no mostrar todo)

Array ( [0] => stdClass Object ( [codEsp] => 2.3.1.1.1.1 [M001803480901044] => [M001803490901171] => [M001803490901182] => [M001803520001056] => [M001803520901056] => [M002003480001166] => 240.00 [M002003480001187] => 690.00 [M002003480001189] => 1230.00 [M002003480901187] => 1320.00 [M002003490001181] => [M002003520001131] => [M002303480001187] => 300.00 [M002303490001177] => 150.00 [M002303520001177] => ) [1] => stdClass Object ( [codEsp] => 2.3.1.3.1.1 [M001803480901044] => 980.00 [M001803490901171] => 840.00 [M001803490901182] => 840.00 [M001803520001056] => 300.00 [M001803520901056] => 300.00 [M002003480001166] => 252.00 [M002003480001187] => 180.00 [M002003480001189] => 180.00 [M002003480901187] => 228.00 [M002003490001181] => 900.00 [M002003520001131] => 360.00 [M002303480001187] => 600.00 [M002303490001177] => 225.00 [M002303520001177] => 720.00 ) [2] => stdClass Object ( [codEsp] => 2.3.1.5.3.1 [M001803480901044] => [M001803490901171] => [M001803490901182] => [M001803520001056] => [M001803520901056] => [M002003480001166] => 40.00 [M002003480001187] => 19.98 [M002003480001189] => 20.01 [M002003480901187] => 20.00 [M002003490001181] => [M002003520001131] => [M002303480001187] => 50.00 [M002303490001177] => [M002303520001177] => )

este es mi codigo :

<?php
$c=0;
foreach($esp as $i=>$valor){ ?>
<td colspan="3" align="right" > <?php echo $valor;?></td>

<?php } ?>


me sale este error :

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at D:\servidor\web\osinfor212\application\controllers \requecontrolConta.php:296)

Filename: controllers/requecontrolConta.php

Line Number: 311



La linea 311 es :
<td colspan="3" align="right" > <?php echo $valor;?></td>
  #5 (permalink)  
Antiguo 24/04/2015, 07:29
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: leer campos de un tabla variable

Revisa que no este enviando html, espacios en blanco antes de llamar a header
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #6 (permalink)  
Antiguo 25/04/2015, 20:52
 
Fecha de Ingreso: agosto-2009
Ubicación: Lima
Mensajes: 226
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: leer campos de un tabla variable

Cita:
Iniciado por hhs Ver Mensaje
Revisa que no este enviando html, espacios en blanco antes de llamar a header
no logro dar con la solucion
  #7 (permalink)  
Antiguo 26/04/2015, 13:13
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: leer campos de un tabla variable

es una colleccion de objetos
debes tratalos como objetos

$value->propiedad;
  #8 (permalink)  
Antiguo 26/04/2015, 22:42
 
Fecha de Ingreso: agosto-2009
Ubicación: Lima
Mensajes: 226
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: leer campos de un tabla variable

lo que yo quiero el leer el arreglo pero cuando la cabecera es variable y no estatico

Etiquetas: campos, sql, tabla, variable
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 00:58.