Foros del Web » Programando para Internet » PHP »

Mostrar resultados de query en varias columnas

Estas en el tema de Mostrar resultados de query en varias columnas en el foro de PHP en Foros del Web. En vista a la pregunta del mensaje <a href='ir.asp?http://www.forosdelweb.com/mensaje.asp?id=98893' target='_blank'>http://www.forosdelweb.com/mensaje.asp?i...</a>, que no es la primera vez que veo, os dejo este código de &quot;columnización&quot; de ...
  #1 (permalink)  
Antiguo 06/09/2002, 06:02
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
Mostrar resultados de query en varias columnas

En vista a la pregunta del mensaje <a href='ir.asp?http://www.forosdelweb.com/mensaje.asp?id=98893' target='_blank'>http://www.forosdelweb.com/mensaje.asp?i...</a>, que no es la primera vez que veo, os dejo este código de &quot;columnización&quot; de resultados. Si alguien tiene algún código más optimizado, que no deje de ponerlo.

Código:
$columnes = 4;
echo &quot;&lt;tr&gt;&lt;td colspan=$columnes&gt;$rows Resultados &lt;/td&gt;&lt;/tr&gt;&quot;;
if ($rows=0){echo &quot;&lt;tr&gt;&lt;td colspan=$columnes&gt;No hay resultados en la BD.&lt;/td&gt;&lt;/tr&gt; &quot;;}

for ($i=1; $row = mysql_fetch_row ($result); $i++) {
$resto = ($i % $columnes);
if ($resto == 1) {echo &quot;&lt;tr&gt;&quot;;}
	echo &quot;&lt;td&gt;$row[1]&lt;/td&gt;&quot;; 
if ($resto == 0) {echo &quot;&lt;/tr&gt;&quot;;}
}
if ($resto &lt;&gt; 0) {
$ajust = $columnes - $resto;
for ($j = 0; $j &lt; $ajust; $j++) {echo &quot;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&quot;;}
if ($ajust &lt; $columnes) {echo &quot;&lt;/tr&gt;&quot;;}
}
Como ya habréis visto, $columnes es el número de columnas en que queréis distribuir el resultado.

<div style="font:small Verdana;">Proximamente...</div>
<div align="center" style="font:bold small Verdana;"><a style="text-decoration:none;" href="http://www.traduim.com" target="_blank">Traduim</a>: El portal de los traductores</div>
  #2 (permalink)  
Antiguo 06/09/2002, 06:32
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Re: Mostrar resultados de query en varias columnas

Siento ser tan quisquilloso, pero creo que no hace falta al final comprobar que $adjust sea menor que $columnes, ya que para llegar a ese codigo $resto debe ser distinto de 0, es decir, vale 1..($columnes-1) y por tanto $adjust siempre sera menor que $columnes. Resumiendo, que yo cambiaria esta linea:
Código:
if ($ajust &lt; $columnes) {echo &quot;&lt;/tr&gt;&quot;;}
por esta otra:
Código:
echo &quot;&lt;/tr&gt;&quot;;
No es que el codigo este mal, es simplemente que la condicion siempre se va ha cumplir, lo que hace innecesaria su comprobacion.

Cain, cree que esto se merece su lugar en las FAQs, ¿no crees?.

Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 06/09/2002, 06:37
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
Re: Mostrar resultados de query en varias columnas

Pues tienes toda la razón, ese if está de más.
Gracias

<div style="font:small Verdana;">Proximamente...</div>
<div align="center" style="font:bold small Verdana;"><a style="text-decoration:none;" href="http://www.traduim.com" target="_blank">Traduim</a>: El portal de los traductores</div>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:33.