PHP - Mostrar datos con php

 
Vista:

Mostrar datos con php

Publicado por Ivan (1 intervención) el 11/01/2006 13:12:22
Hola a tod@s!!!. Mi duda es la siguiente:

¿Como puedo mostrar resultados de una consulta en php para que me muestre 2, 3 o el numero que yo quiera por linea?

Yo tengo hecho esto:

<table align="center" border = 1>
<tr>
<th>Sector</th>
</tr>
<tr>
<?php
//Mostramos los registros
while ($row=mysql_fetch_array($result))
{
echo '<tr><td>'.$row["sector"].'</td></tr>';
}
mysql_free_result($result)
?>
</table>

pero me muestra los registros uno debajo del otro. ¿Podeis ayudarme?. Gracias a tod@s!!!.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Mostrar datos con php

Publicado por Mike79 (669 intervenciones) el 12/01/2006 18:30:09
Pues es un problema muy sencillo, es de pura logica. Se nota que nunca has programado en ningún lenguaje.

Necesitas una variable contador, y la inicializas a cero, por ejemplo:
$Reg = 0;

Agregamos dentro del While una linea que incremente la variable, puede ser:
$Reg = $Reg + 1;
ó puede ser:
$Reg++;

Luego debes quitar el <tr> y </tr> del echo que esta en el while. Ya que estas etiquetas indican el principio del renglon de tu tabla, y nosotros queremos que en un mismo renglon existan varias celdas, la etquita td es la que indica la celda.

Debes poner una condición antes del echo que diga que si la variable es uno, entonces imprima la etiquta <tr> que indica que empieza el renglon.

Despues del echo tenemos que agregar otra condicion que diga, que si la variable $Reg llego por ejemplo a 3 (el número de elementos que queremos por renglon), entonces termine el renglon, es decir, un echo que mande </tr> y que inicialize la variable a cero nuevamente, $Reg = 0;

Como la tabla puede tener por ejemplo 10 renglones (que no son divisibles entre 3), es normal que la tabla no termine en un renglon exacto. Como debemos termianr el renglon antes de cerrar la tabla, ponemos despues del while, una condición que diga, que si $Reg es diferente de cero, entonces, dentro de la condición entre a un for que va de $Reg al tamaño maximo de elementos por renglon, por ejemplo 3, dentro de ese ciclo pones una celda con un espacio en blanco, nos quedaria algo así:

for ($h=$Reg;$h<3;$h++) {
echo "<td>&nbsp;</td>";
}

Y por ultimo, debajo de esto, pero dentro de la misma condición cerramos la linea mandando un </tr>. Cerramos la condición y cerramos la tabla.

Espero te sirva.
Saludos!
-
Miguel Angel
Mike79
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar