Mostrar resultados de una consulta a una BD en una tabla
Hola, necesitaria saber como mostrar los resultados de una busqueda en una Base de Datos, representandolos en una tabla de 4 celdas de ancho y 'n' celdas de alto. Se que necesito hacer dos bucles, pero no consigo que me muestre todos los resultados, me muestra todos menos los multiplos de 5. Os dejo el codigo a ver si me podeis ayudar, muchas gracias.
<?
require ("/scripts/conecta.php");
$cons="SELECT * FROM usuarios";
$query=mysql_query($cons);
echo ("<table>");
while ($row=mysql_fetch_array($query)) {
echo ("<tr>");
$i=0;
while ($i<=3) {
echo ("<td>".$row["nombre"]."</td>");
$row=mysql_fetch_array($query);
$i++;
}
echo ("</tr>");
}
echo ("</table>");
?>
<?
require ("/scripts/conecta.php");
$cons="SELECT * FROM usuarios";
$query=mysql_query($cons);
echo ("<table>");
while ($row=mysql_fetch_array($query)) {
echo ("<tr>");
$i=0;
while ($i<=3) {
echo ("<td>".$row["nombre"]."</td>");
$row=mysql_fetch_array($query);
$i++;
}
echo ("</tr>");
}
echo ("</table>");
?>
Prueba esto :
<?
require ("/scripts/conecta.php");
$cons="SELECT * FROM usuarios";
$query=mysql_query($cons);
$numero_filas=mysql_num_rows($query);
$num=0;
echo ("<table>");
while ($num < $numero_filas)
{
echo ("<tr>");
$i=0;
while ($i<=3 and $num < $numero_filas)
{
echo ("<td>".$row["nombre"]."</td>");
$row=mysql_fetch_array($query);
$i++;
$num++;
}
echo ("</tr>");
}
echo ("</table>");
?>
<?
require ("/scripts/conecta.php");
$cons="SELECT * FROM usuarios";
$query=mysql_query($cons);
$numero_filas=mysql_num_rows($query);
$num=0;
echo ("<table>");
while ($num < $numero_filas)
{
echo ("<tr>");
$i=0;
while ($i<=3 and $num < $numero_filas)
{
echo ("<td>".$row["nombre"]."</td>");
$row=mysql_fetch_array($query);
$i++;
$num++;
}
echo ("</tr>");
}
echo ("</table>");
?>
Muchisimas gracias kriztian, lo he conseguido, unicamente tenias un fallo, en el codigo que me has mandado, en el segundo bucle, la sentencia:
$row=mysql_fetch_array($query);
la has puesto despues del:
echo ("<td>".$row["nombre"]."</td>);
esto provocaba que el ultimo registro de la BD no se mostrara en pantalla, lo unico que he tenido que hacer es poner el $row=... antes que el echo ("....
De nuevo gracias, no habia caido en usar el
mysql_num_rows();
$row=mysql_fetch_array($query);
la has puesto despues del:
echo ("<td>".$row["nombre"]."</td>);
esto provocaba que el ultimo registro de la BD no se mostrara en pantalla, lo unico que he tenido que hacer es poner el $row=... antes que el echo ("....
De nuevo gracias, no habia caido en usar el
mysql_num_rows();