Foros del Web » Programando para Internet » PHP »

un error de principiante

Estas en el tema de un error de principiante en el foro de PHP en Foros del Web. se me hace muy boba esta pregunta, pero tengo que hacerla ya que no se como realizarla: Tengo una consulta while que despliega la información ...
  #1 (permalink)  
Antiguo 04/01/2004, 01:22
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 23 años, 3 meses
Puntos: 9
un error de principiante

se me hace muy boba esta pregunta, pero tengo que hacerla ya que no se como realizarla:

Tengo una consulta while que despliega la información de unas imágenes, pero me falla al momento de alinear unas simples <tr>, que se supone que debe desplegarlo a una tercera vez:

Código PHP:
<? $fila=0;
while(
$condicion) {
IF (
$fila==0) { ?><tr><? ?>
<td> imagen </td>
<? IF ($fila==0) { ?></tr><? $fila=$fila+1; IF ($fila==4) {$fila=0; } } ?>
El hecho está que las filas las despliega de uno, luego de tres columnas, luego de nuevo de uno, y luego de tres columnas.

Que error será?

Última edición por lado2mx; 04/01/2004 a las 01:23
  #2 (permalink)  
Antiguo 04/01/2004, 05:40
Avatar de mdk
mdk
 
Fecha de Ingreso: noviembre-2002
Mensajes: 531
Antigüedad: 22 años
Puntos: 11
No has explicado bien lo que quieres hacer. ¿Quieres hacer filas de 3 columnas? ¿o lo que quieres es que se repita lo que tu tienes solo 3 veces? Un dato importante es que poniendo while($condicion) { como has puesto, sin definir la variable $condicion no entraria nunca dentro del while y en caso de que la definieras no terminaria nunca la repeticion del while. Depurando un poco tu codigo y poniendolo de forma que repitiera x ejemplo solo 3 veces seria.

Código PHP:
<? 
$fila 
0;
$condicion 0;
while(
$condicion 3) {
   if (
$fila == 0) { echo "<tr>"; }
   echo 
"<td> imagen </td>";
   if (
$fila == 0) { echo "</tr>"; } 
   
$fila++;
   if (
$fila == 4) { $fila 0; } 
   
$condicion++;
}
?>
__________________
SoY Lo Ke VeS iNKLuSo KuAnDo No Me VeS ;)
  #3 (permalink)  
Antiguo 04/01/2004, 09:50
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 23 años, 3 meses
Puntos: 9
ten en en cuenta q quiero solo cuatro columnas, y la variable condicion, es de una función aparte, como si fuera una consultal mysql_fetch_array...
  #4 (permalink)  
Antiguo 04/01/2004, 15:06
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 22 años, 5 meses
Puntos: 16
Hola,

No se si te servira, pero en las FAQs tienes un mensaje sobre mostrar resultados en columnas: http://www.forosdelweb.com/showthrea...669#post240669

Usa for, pero es facil pasar de for a while y viceversa.

El mayor problema que veo en tu codigo es que muestras el <tr> y el </tr> para la misma iteraccion ($fila=0). Si te fijas en el codigo HTML creado por tu codigo veras que no es un codigo HTML correcto (<td> sin <tr>). Se vera algo porque los navegadores son muy permisivos.

Lo que tu quieres es mostrar <tr> cuando $fila=0 y </tr> cuando $fila=3.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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:24.