Foros del Web » Programando para Internet » PHP »

¿Que tengo mal? Bucle FOR.

Estas en el tema de ¿Que tengo mal? Bucle FOR. en el foro de PHP en Foros del Web. Hola, Tengo este código: Código PHP: < table border = "1"  cellspacing = "0"  cellpadding = "0"  > for( $i = 1 ; $i <= 2 ...
  #1 (permalink)  
Antiguo 05/04/2007, 14:04
Avatar de AdRiAnCeTe  
Fecha de Ingreso: marzo-2007
Mensajes: 140
Antigüedad: 17 años
Puntos: 0
¿Que tengo mal? Bucle FOR.

Hola,

Tengo este código:

Código PHP:
<table border="1" cellspacing="0" cellpadding="0" >
for(
$i=1;$i<=2;$i++){
  echo 
'<tr>';
for(
$i=1;$i<=10;$i++){
  echo 
'<td>&nbsp;</td>';
}
  echo 
'</tr>';
}
}
</
table
En un principio deberia de sacar una tabla con 2 filas y 10 columnas verdad?..Pues no me sale xD, me pueden indicar que falla? Un saludo!
  #2 (permalink)  
Antiguo 05/04/2007, 14:19
Avatar de AdRiAnCeTe  
Fecha de Ingreso: marzo-2007
Mensajes: 140
Antigüedad: 17 años
Puntos: 0
Re: ¿Que tengo mal? Bucle FOR.

Nada, ya encontré el fallo, era la variable que las llamaba igual, $i. Saludos,

A los moderadores: Borrar este mensaje si lo creeis conveniente.
  #3 (permalink)  
Antiguo 05/04/2007, 14:20
Avatar de jmn2k1  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires...
Mensajes: 489
Antigüedad: 22 años, 5 meses
Puntos: 2
Re: ¿Que tengo mal? Bucle FOR.

No podes usar la misma variable en los dos bucles... usa otra pe. $j
Ademas no te olvides de separar el PHP del html con <?php

Y por ultimo, un consejo, en vez de usar "echo" podes hacer asi y queda mas prolijo:

Código PHP:
<table border="1" cellspacing="0" cellpadding="0">
<?php for($i=1;$i<=2;$i++){?>
<tr>
<?php for($j=1;$j<=10;$j++){?>
    <td><?php echo $j?></td>
    <?php ?>
</tr>
<?php ?>
</table>
Tambien podes usar una sintaxis alternativa que (personalmente) me parece que queda mas prolijo:
Código PHP:
<table border="1" cellspacing="0" cellpadding="0">
<?php for($i=1;$i<=2;$i++):?>
<tr>
<?php for($j=1;$j<=10;$j++):?>
    <td><?php echo $j?></td>
    <?php endfor; ?>
</tr>
<?php endfor; ?>
</table>
La sintaxis alternativa es usar ":" para comenzar un bloque y terminarlo con endif, endfor, etc..
__________________
JmN
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 11:39.