Buenas, quería ver si alguien me podía ayudar para hacer un codigo, o si alguien tenia un codigo, o darme una idea, de como listar los resultados de una consulta horizontalmente, al mejor estilo mercado libre, o de remate, es decir, que tenga los registros (3) en columnas, y al terminar las columnas se cree una fila nueva. En fin, en el foro conseguí un codigo, que es el que pongo a continuación, pero elimina siempre el ultimo registro, y si por ejemplo, yo quiero mostrar 10 por pagina, y son 5 paginas, ya pierdo 5 registros, lo cual no puede suceder. Este es el codigo que usé:
Código PHP:
<?
echo '<table width="100%" align=center>';
$columnes = 3; # Número de columnas (variable)
if (($rows=mysql_num_rows($curricular))==0) {
echo '<tr><td colspan=$columnes>No hay resultados en la BD.</td></tr> ';
} else {
echo '<tr><td colspan=$columnes>Proyectos ingresados </td></tr>';
}
for ($i=1; $row = mysql_fetch_row ($curricular); $i++) {
$resto = ($i % $columnes); # Número de celda del <tr> en que nos encontramos
if ($resto == 1) {echo "<tr>";} # Si es la primera celda, abrimos <tr>
echo '<td width="33%"><table width="100%" border="0" cellspacing="2" cellpadding="2">
<tr>
<td class="proyecto">'. $row[1]. '</td>
</tr>
<tr>
<td><div align="center"><img src="" alt="" name="foto" width="250" height="180" id="foto" /></div></td>
</tr>
<tr>
<td class="texto">Detalles</td>
</tr>
</table></td>';
if ($resto == 0) {echo "</tr>";} # Si es la última celda, cerramos </tr>
}
if ($resto <> 0) { # Si el resultado no es múltiple de $columnes acabamos de rellenar los huecos
$ajust = $columnes - $resto; # Número de huecos necesarios
for ($j = 0; $j < $ajust; $j++) {echo "<td> </td>";}
echo "</tr>"; # Cerramos la última línea </tr>
};
Aparte, como mis imagenes estan en otra tabla, tengo que poder relacionar el id de esta tabla con el id de las fotos, y el codigo utliza $row[1], y ese es el nombre... $row[0] sería el id, digamos? mi primera fila??
bueno, si alguien tiene o sabe algun codigo o alguna mejor forma de hacerlo, le voy a estar muy agradecido!!!
Muchas gracias de antemano, un saludo para todos!
Pablo.