generar tabla ...

Iniciado por pedraxito, 16 Enero 2008, 21:11 PM

0 Miembros y 1 Visitante están viendo este tema.

pedraxito

hola q tal???

bueno, ando atorado ... mediante una consulta a mysql estoy sacando unas imagenes. y las quiero mostrar en la aplicacion de 3 imagenes por fila y cada 3er imagen que se cambie a la siguiente fila...

he tratado de varias formas ... pero no logro que funcione correctamente, tal vez por q no tengo mucha experiencia jeje

este es el codigo que tengo
echo "<table><tr>";
while($row = mysql_fetch_array($result)){
$contador ++;
//echo $contador;
if($contador == 4){
//echo "reseteando contador";
$typex = "<tr>";
$typey = "</tr>";
$contador = 0;
}else{
$typex = null;
$typey = null;
}
echo $typex;
echo "<td>";
//echo $row['idContacto'];
echo "<a href='?action=detalle&id=" . $row['idContacto'] . "'>";
echo "<img src='http://localhost/directorio/directorio/" . $row['path'] . "' style='width: 100px;'/>";
echo "</a>";
echo "</td>";
echo $typey;
}
echo "</tr>";


y por ejemplo, ahi me devuelve las 3 priemras imagenes en una fila, se pasa a la siguiente fila, luego la 4 imagen en una fila sola y se vuelve a saltar a la siguiente fila, y luego otra vez las 3 siguientes , etc etc ...

espero haberme explicado, gracias!


Hans el Topo

siguiendo tu esctructura, yo haría algo así :P

<?php
echo "<table><tr>";
                
$contador=1;
while($row mysql_fetch_array($result)){
if($contador 3){
//saltamos de línea
echo = "<tr>";
$contador 1;
}
echo "<td><a href='?action=detalle&id=" $row['idContacto'] . "'>";
echo "<img src='http://localhost/directorio/directorio/" $row['path'] . " width=100></a>";

                       
$contador ++;
}
echo "</table>";
?>
 

SirLanceCC

#2
Yo lo habia hecho así:
Código (php) [Seleccionar]

<table>
<?php
$x 
0;
while(
$data mysql_fetch_array($result) ){
$x ++;
if($x == 1) echo '<tr>';
echo '<td>aqui los datos y demás</td>';
if($x == 5) {
                echo 
'</tr>';
                
$x=0;
            }
}
?>

</table>

Casidiablo

#3
Cita de: Hans el Topo en 17 Enero 2008, 01:22 AM
siguiendo tu esctructura, yo haría algo así :P

<?php
echo "<table><tr>";
                
$contador=1;
while($row mysql_fetch_array($result)){
if($contador 3){
//saltamos de línea
echo = "<tr>";
$contador 1;
}
echo "<td><a href='?action=detalle&id=" $row['idContacto'] . "'>";
echo "<img src='http://localhost/directorio/directorio/" $row['path'] . " width=100></a>";

                       
$contador ++;
}
echo "</table>";
?>


Te olvidas de cerrar el tr.

Cita de: -| Sir_Lance |- en 17 Enero 2008, 14:41 PM
Yo lo habia hecho así:
Código (php) [Seleccionar]

<table>
<?php
$x 
0;
while(
$data mysql_fetch_array($result) ){
$x ++;
if($x == 1) echo '<tr>';
echo '<td>aqui los datos y demás</td>';
if($x == 5) {
                echo 
'</tr>';
                
$x=0;
            }
}
?>

</table>


Es sí funciona! Aunque es muy largo. Va mi oferta (funciona o funciona):

Código (php) [Seleccionar]
<table><tr>
<?php
for($i=0$i<mysql_num_rows($resultado); $i++)
echo "<td> AQUI LA IMAGEN </td>".(($i+1)%== "</tr>\n<tr>" "");
?>
</tr></table>


Un saludo!

Edito: como veo que lo estás haciendo con mysql_fetch_array($result), te prevengo: en este caso lo tendrías que hacer con mysq_result.

Hans el Topo

no tiene sentido poner ni </tr> ni </td> lo único que hace es ocupar ancho de banda  :rolleyes:
 

SirLanceCC

 :¬¬ :¬¬
Pero se supone que es parte de los estándares, ¿no?
Está bien querer ahorrar ancho de banda en imágenes y cosas similares, pero ya eso es ser muy tacaño des de mi punto de vista :xD

Casidiablo


Hans el Topo

no tiene sentido poner </tr> y </td>

de hecho desde que comencé con html nunca los he puesto, es una feature que tiene

los navegadores son los encargados de interpretar los códigos y realmente no tiene ninguna utilidad ya que cuando comienza otro <td> se cierra el anterior automáticamente y lo mismo ocurre con los <tr>
si fuese xml ya sería otro cantar
 

pedraxito

Cita de: Casidiablo en 17 Enero 2008, 16:06 PM
Cita de: Hans el Topo en 17 Enero 2008, 01:22 AM
siguiendo tu esctructura, yo haría algo así :P

<?php
echo "<table><tr>";
                
$contador=1;
while($row mysql_fetch_array($result)){
if($contador 3){
//saltamos de línea
echo = "<tr>";
$contador 1;
}
echo "<td><a href='?action=detalle&id=" $row['idContacto'] . "'>";
echo "<img src='http://localhost/directorio/directorio/" $row['path'] . " width=100></a>";

                       
$contador ++;
}
echo "</table>";
?>


Te olvidas de cerrar el tr.

Cita de: -| Sir_Lance |- en 17 Enero 2008, 14:41 PM
Yo lo habia hecho así:
Código (php) [Seleccionar]

<table>
<?php
$x 
0;
while(
$data mysql_fetch_array($result) ){
$x ++;
if($x == 1) echo '<tr>';
echo '<td>aqui los datos y demás</td>';
if($x == 5) {
                echo 
'</tr>';
                
$x=0;
            }
}
?>

</table>


Es sí funciona! Aunque es muy largo. Va mi oferta (funciona o funciona):

Código (php) [Seleccionar]
<table><tr>
<?php
for($i=0$i<mysql_num_rows($resultado); $i++)
echo "<td> AQUI LA IMAGEN </td>".(($i+1)%== "</tr>\n<tr>" "");
?>
</tr></table>


Un saludo!

Edito: como veo que lo estás haciendo con mysql_fetch_array($result), te prevengo: en este caso lo tendrías que hacer con mysq_result.

gracias casidiablo ya quedo resuelto, me funciono muy bien


Casidiablo

Cita de: Hans el Topo en 18 Enero 2008, 15:54 PM
no tiene sentido poner </tr> y </td>

de hecho desde que comencé con html nunca los he puesto, es una feature que tiene

los navegadores son los encargados de interpretar los códigos y realmente no tiene ninguna utilidad ya que cuando comienza otro <td> se cierra el anterior automáticamente y lo mismo ocurre con los <tr>
si fuese xml ya sería otro cantar

Pues sí... como dicen por ahí: las reglas son para violarlas!

Un saludo!