Foros del Web » Programando para Internet » PHP »

tabla dentro de un foreach

Estas en el tema de tabla dentro de un foreach en el foro de PHP en Foros del Web. Tengo esta tabla: <?php //var_export($this->data); foreach($this->data as $row){ echo"<table border=1px> <tr> <th><img width=100 height=100 src='/tmp/".$row['ffoto']."'></th> </tr>"; echo "<tr> <td>".$row['fnombre']."</td> </tr> <tr><td>".$row['fapellido']."</td> </tr> <tr> <td>".$row['fsexo']."</td> </tr> ...
  #1 (permalink)  
Antiguo 13/06/2012, 16:07
Avatar de injhomosa  
Fecha de Ingreso: febrero-2012
Mensajes: 26
Antigüedad: 12 años, 2 meses
Puntos: 1
Pregunta tabla dentro de un foreach

Tengo esta tabla:

<?php
//var_export($this->data);
foreach($this->data as $row){
echo"<table border=1px>
<tr>
<th><img width=100 height=100 src='/tmp/".$row['ffoto']."'></th>
</tr>";
echo "<tr>
<td>".$row['fnombre']."</td>
</tr>
<tr><td>".$row['fapellido']."</td>
</tr>
<tr>
<td>".$row['fsexo']."</td>
</tr>
</table>";
}
?>

pero esta tabla se me muestra en una sola columna, creo q es por el foreach q lista la informacion de esa forma...
Quisiera saber, como hacer para que la informacion se me liste en cuatro columnas, es decir, una columna por cada dato.

Les agradezco sus aportes..
  #2 (permalink)  
Antiguo 13/06/2012, 16:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: tabla dentro de un foreach

No es el foreach(), es tu estructura de tabla, si separas todas las columnas con <tr> es evidente que por eso se separa en filas.

Las columnas deben ser así.
Código HTML:
<tr>
  <td>A</td>
  <td>B</td>
  <td>C</td>
</tr> 
Obvio que para que funcione debe estar todo contenido dentro de una sola tabla, no imprimir una tabla por cada item.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 13/06/2012, 16:18
Avatar de injhomosa  
Fecha de Ingreso: febrero-2012
Mensajes: 26
Antigüedad: 12 años, 2 meses
Puntos: 1
Pregunta Respuesta: tabla dentro de un foreach

Hice esto:
<?php
//var_export($this->data);
foreach($this->data as $row){
echo"<table border=1px>
<tr>
<td><img width=100 height=100 src='/tmp/".$row['ffoto']."'></td>
</tr>
<tr>
<td>".$row['fnombre']."<br>"
.$row['fapellido']."<br>"
.$row['fsexo']."<br></td>
</tr>
</table>";
}
?>


o tan bien esto que es peor todavia, pero lo probe por si las moscas:
<?php
//var_export($this->data);
foreach($this->data as $row){
echo"<table border=1px>
<tr>
<td><img width=100 height=100 src='/tmp/".$row['ffoto']."'></td>
</tr>
<tr>
<td>".$row['fnombre']."</td>
<td>".$row['fapellido']."<td>
<td>".$row['fsexo']."</td>
</tr>
</table>";
}
?>

no pasa nada, la info sigue mostrandose igual...

gracias por sus aportes
  #4 (permalink)  
Antiguo 13/06/2012, 16:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: tabla dentro de un foreach

El punto es que debes repetir un solo <tr> con todos sus <td> en cada vuelta del ciclo, ¡no la tabla completa!

Como sugerencia es mejor primero hacer el HTML, entenderlo y ya cuando comprendes como se estructura intentar pasarlo con PHP, así de sencillo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 13/06/2012, 16:27
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años
Puntos: 528
Respuesta: tabla dentro de un foreach

Debes mirar el html generado para comprender el error, estás creando una tabla por cada dato:

foreach($this->data as $row){
echo"<table border=1px>
<tr>
<td><img width=100 height=100 src='/tmp/".$row['ffoto']."'></td>
</tr>
<tr>
<td>".$row['fnombre']."</td>
<td>".$row['fapellido']."<td>
<td>".$row['fsexo']."</td>
</tr>
</table>";
}

echo "<table border=1px>";
foreach($this->data as $row){
echo"
<tr>
<td><img width=100 height=100 src='/tmp/".$row['ffoto']."'></td>
<td>".$row['fnombre']."</td>
<td>".$row['fapellido']."<td>
<td>".$row['fsexo']."</td>
</tr>";
}
echo "</table>";
  #6 (permalink)  
Antiguo 13/06/2012, 16:41
Avatar de patriciomase  
Fecha de Ingreso: abril-2012
Ubicación: Mar del Plata
Mensajes: 323
Antigüedad: 12 años
Puntos: 34
Respuesta: tabla dentro de un foreach

tenes que repetir solo los tr que son los "renglones"
Código HTML:
Ver original
  1. <th><td></td></th>
  2. <?php foreach( .... ) {?>
  3. <tr>
  4. <td> datos datos </td>
  5. </tr>
  6. <?php
  7. }?>
  #7 (permalink)  
Antiguo 14/06/2012, 13:47
Avatar de injhomosa  
Fecha de Ingreso: febrero-2012
Mensajes: 26
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: tabla dentro de un foreach

Les agradezco sus aportes, ahora sere mas epecifica...
El proble es que tengo q listar la informacion de cada usuario y la foto debe aparecer en la cabera masonenos asi:

(img)
nombre
Apellido
etc.

ya logre organizarlos de esta forma, lo que ahora se me presento es q la tabla listara todos los datos de ahi en adelante en forma horizontal. la tabla me qedo asi:

<?php
//var_export($this->data);
echo"<table border=1px><tr>";

foreach($this->data as $row){
echo
"<td>
<table>
<tr>
<tr>
<td><img width=100 height=100 src='/tmp/".$row['ffoto']."'>
</td>
</tr>
<tr>
<td>".$row['fnombre']."</td>
</tr>
<tr>
<td>".$row['fapellido']."<td>
</tr>
<tr>
<td>".$row['fsexo']."</td>
<tr>
</tr>
</table>
</td>";
}
echo"</tr></table>";
?>


Gracias por sus sugerencias...
  #8 (permalink)  
Antiguo 14/06/2012, 14:04
 
Fecha de Ingreso: junio-2012
Ubicación: Argentina - Buenos Aires
Mensajes: 135
Antigüedad: 11 años, 10 meses
Puntos: 32
Respuesta: tabla dentro de un foreach

Tenes claro el concepto de tabla?
Una tabla(<table></table>) agrupa filas(<tr></tr>) dentro de ella
y cada fila agrupa celdas (<td></td>) dentro de ella.

Supongamos la siguiente tabla
Código PHP:
Ver original
  1. +----+----+----+
  2. | 1A | 1B | 1C | <-- fila 1
  3. +----+----+----+
  4. | 2A | 2B | 2C | <-- fila 2
  5. +----+----+----+
  6. | 3A | 3B | 3C | <-- fila 3
  7. +----+----+----+
Si lo llevamos a HTML quedaria asi:
Código HTML:
Ver original
  1. <tr><td>1A</td><td>1B</td><td>1C</td></tr>
  2. <tr><td>2A</td><td>2B</td><td>2C</td></tr>
  3. <tr><td>3A</td><td>3B</td><td>3C</td></tr>

Se entiende mas o menos?

Espero sirva, saludos.
__________________
http://www.latinium.com.ar/
  #9 (permalink)  
Antiguo 14/06/2012, 15:41
Avatar de patriciomase  
Fecha de Ingreso: abril-2012
Ubicación: Mar del Plata
Mensajes: 323
Antigüedad: 12 años
Puntos: 34
Respuesta: tabla dentro de un foreach

te sugiero leete http://www.w3schools.com/html/html_tables.asp eso y fijate.

Etiquetas: foreach, tabla
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 14:37.