Foros del Web » Programando para Internet » PHP »

Imprimir tabla dentro de do while

Estas en el tema de Imprimir tabla dentro de do while en el foro de PHP en Foros del Web. Mirar ya nos se que mas probar, este do while: Código PHP: <table border="1" align="center">   <tr>     <td>log_zona</td>     <td>log_hora</td>   </tr>    <?php  do {  ?>   <tr>     <td> <?php  echo  ...
  #1 (permalink)  
Antiguo 30/05/2005, 13:56
Avatar de tralara  
Fecha de Ingreso: diciembre-2003
Mensajes: 230
Antigüedad: 20 años, 4 meses
Puntos: 0
Imprimir tabla dentro de do while

Mirar ya nos se que mas probar, este do while:

Código PHP:
<table border="1" align="center">
  <tr>
    <td>log_zona</td>
    <td>log_hora</td>
  </tr>
  <?php do { ?>
  <tr>
    <td><?php echo $row_log_h['log_zona']; ?></td>
    <td><?php echo $row_log_h['log_hora']; ?></td>
  </tr>
  <?php } while ($row_log_h mysql_fetch_assoc($log_h)); ?>
</table>
Me imprime asi:

log_zona|log_hora
zona_A |22:30
zona_B |22:36
zona_C |22:47

Pero lo que estoy buscando es que lo haga asi:

log_zona | zona_A | zona_B | zona_C
log_hora | 22:30 | 22:36 | 22:47

y no lo consigo despues de mucho probar, alguna idea?

Saludos y gracias.

Última edición por tralara; 30/05/2005 a las 14:56
  #2 (permalink)  
Antiguo 30/05/2005, 15:06
 
Fecha de Ingreso: diciembre-2003
Mensajes: 10
Antigüedad: 20 años, 3 meses
Puntos: 0
Sonrisa

Bien, lo que ocurre es que estas intentando haciendo una impresion vertical (de fila en fila) y lo que estas buscando (por lo que entiendo) es mostrar los registros en forma horizontal.
Yo haria un codigo mas o menos como este:

<table border="1" align="center">
<tr>
<td>log_zona</td>
<td rowspan="2">
<?php do { ?>
<table>
<tr><td><?php echo $row_log_h['log_zona']; ?></td></tr>
<tr><td><?php echo $row_log_h['log_hora']; ?></td></tr>
</table>
<?php } while ($row_log_h = mysql_fetch_assoc($log_h)); ?>
</td>
</tr>
<tr>
<td>log_hora</td>
</tr>
</table>
  #3 (permalink)  
Antiguo 30/05/2005, 16:05
Avatar de tralara  
Fecha de Ingreso: diciembre-2003
Mensajes: 230
Antigüedad: 20 años, 4 meses
Puntos: 0
Gracias hector286, tu pista ha sido definitiva, solucion facil pero antes igual me he tirado una hora probando y probando, juas juas, al final queda asi:

Código PHP:
<table width="200" border="1">
  <tr>
    <td>&nbsp;</td>
    <?php do { ?>
    <td rowspan="2"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td><?php echo $row_log_h['log_zona']; ?></td>
      </tr>
      <tr>
        <td><?php echo $row_log_h['log_hora']; ?></td>
      </tr>
    </table></td>
    <?php } while ($row_log_h mysql_fetch_assoc($log_h)); ?>
  </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
</table>
Saludos

Última edición por tralara; 30/05/2005 a las 16:11
  #4 (permalink)  
Antiguo 30/05/2005, 16:20
 
Fecha de Ingreso: diciembre-2003
Mensajes: 10
Antigüedad: 20 años, 3 meses
Puntos: 0
Esta bien, se me habia olvidado un <td> y otro </td> dentro del while...je je
  #5 (permalink)  
Antiguo 30/05/2005, 16:27
Avatar de tralara  
Fecha de Ingreso: diciembre-2003
Mensajes: 230
Antigüedad: 20 años, 4 meses
Puntos: 0
Bueno pero como decias mas o menos, pues eso, <td> mas o <td> menos!

Gracias
  #6 (permalink)  
Antiguo 31/05/2005, 02:49
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
.. ¿no te sirve algo como:
Código PHP:
<?php
while ($row_log_h mysql_fetch_assoc($log_h)) {
    @
$zona.="<td>".$row_log_h['log_zona']."</td>";
    @
$hora.="<td>".$row_log_h['log_hora']."</td>";
}
?>
<table border="1" align="center">
  <tr>
    <td>log_zona</td><?=$zona ?>
</tr>
<tr>
    <td>log_hora</td><?=$hora ?>
  </tr>
</table>
???? Lo vería "más puro"... (si resulta )

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #7 (permalink)  
Antiguo 31/05/2005, 03:29
Avatar de tralara  
Fecha de Ingreso: diciembre-2003
Mensajes: 230
Antigüedad: 20 años, 4 meses
Puntos: 0
Algo mas puro a la una? Algo mas puro a las dos? CLOC!! Adjudicado a jam1138, justo lo que yo perseguia sin obtener resultados, vaya que si funciona!

Pero esa @ pq la pones? A mi me da error, pensaba que se usaba delante de una funcion, para que no mostrara el error, sin @ todo bien!

$gracias++;
  #8 (permalink)  
Antiguo 31/05/2005, 03:39
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
... me hiciste reir ... gracias.

¿te da error con el @?? ... ¿qué tipo de error???... Yo la puse porque supongo las variables dentro del ciclo no están definidas previamente, entonces la primera vez que se le asigna valor te debería dar error... pués aún no están definidas... el resultado fue el contrario?? ...

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #9 (permalink)  
Antiguo 31/05/2005, 06:19
Avatar de tralara  
Fecha de Ingreso: diciembre-2003
Mensajes: 230
Antigüedad: 20 años, 4 meses
Puntos: 0
...me alegra haberte provocado unas risas, de eso nos hace mucha falta a todos.

Curiosamente lo de las @ ahora lo he intentado volver a reproducir y no da ese error, aunque no te extrañe que el error viniera por otro lado, curioso pq justo antes de escribir el anterior post diria que solo modifique eso y daba error, aunque no te extrañe que con tanto ruido en la subasta me haya confundido. Mismo efecto? jajajajaja

Saludos
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 22:54.