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!
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>";
?>
Yo lo habia hecho así:
<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>
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í:
<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):
<table><tr>
<?php
for($i=0; $i<mysql_num_rows($resultado); $i++)
echo "<td> AQUI LA IMAGEN </td>".(($i+1)%3 == 0 ? "</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 (http://www.php.net/manual/es/function.mysql-result.php).
no tiene sentido poner ni </tr> ni </td> lo único que hace es ocupar ancho de banda :rolleyes:
:¬¬ :¬¬
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
Jaja, que buena excusa!
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
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í:
<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):
<table><tr>
<?php
for($i=0; $i<mysql_num_rows($resultado); $i++)
echo "<td> AQUI LA IMAGEN </td>".(($i+1)%3 == 0 ? "</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 (http://www.php.net/manual/es/function.mysql-result.php).
gracias
casidiablo ya quedo resuelto, me funciono muy bien
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!