Mostrar resultados de una consulta a una BD en una tabla

jetrho
07 de Febrero del 2004
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>");
?>

khriztian
07 de Febrero del 2004
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>");

?>

jetrho
07 de Febrero del 2004
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();