Foros del Web » Programando para Internet » PHP »

BUCLE FOR | Cada 3 bucles, añadir código

Estas en el tema de BUCLE FOR | Cada 3 bucles, añadir código en el foro de PHP en Foros del Web. Hola compañer@s, Estoy implementando un bucle for, y quiero que cada 3 repeticiones me añada un código, es decir, ahora tengo: Código PHP: for( $num  ...
  #1 (permalink)  
Antiguo 28/07/2011, 05:39
 
Fecha de Ingreso: diciembre-2003
Mensajes: 157
Antigüedad: 21 años
Puntos: 1
BUCLE FOR | Cada 3 bucles, añadir código

Hola compañer@s,

Estoy implementando un bucle for, y quiero que cada 3 repeticiones me añada un código, es decir, ahora tengo:

Código PHP:
for($num ;$num $num++){
      echo  
'<div></div>';  

Que da como resultado 6 veces:

<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>

Pues lo quiero es condicionarlo, de modo que cada 3 me añada una clase, y que quede de cual modo:

<div></div>
<div></div>
<div class="Clase"></div>
<div></div>
<div></div>
<div class=Clase""></div>

Estoy verde con PHP y no encuentro la solución.
Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 28/07/2011, 05:49
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 9 meses
Puntos: 253
Respuesta: BUCLE FOR | Cada 3 bucles, añadir código

Lo puedes hacer con la operación módulo (que devuelve el resto de la división y se escribe con %):

Código PHP:
for($num ;$num $num++){
      if (
$num 0) { // Si dividimos entre 3 el num y el resto es 0, toca class:
            
echo  '<div class="Clase"></div>';
      } else {
            echo  
'<div></div>';
      }

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #3 (permalink)  
Antiguo 29/07/2011, 02:50
 
Fecha de Ingreso: diciembre-2003
Mensajes: 157
Antigüedad: 21 años
Puntos: 1
Respuesta: BUCLE FOR | Cada 3 bucles, añadir código

Gracias vgonga1986!

Ya lo tengo, he realizado el siguiente cambio, para que me lo haga como yo quiero!

Código PHP:
for($num ;$num 10 $num++){
    if(
$num %3==0) {
            echo 
'<li class="Clase">Clase</li>';
      }else{
            echo 
'<li></li>';
      }

__________________
http://www.idilicstudio.com
  #4 (permalink)  
Antiguo 29/07/2011, 02:56
 
Fecha de Ingreso: diciembre-2003
Mensajes: 157
Antigüedad: 21 años
Puntos: 1
Respuesta: BUCLE FOR | Cada 3 bucles, añadir código

Mmmm...una pregunta, porqué este código no funciona? si es lo mismo no?

Código PHP:
for($num ;$num 10 $num++){
    if(
$num %3==0) {
        
$Class ' class="Clase"';    
     }
      echo 
'<li'.$Class.'>Clase</li>';

__________________
http://www.idilicstudio.com
  #5 (permalink)  
Antiguo 29/07/2011, 03:11
 
Fecha de Ingreso: julio-2008
Mensajes: 366
Antigüedad: 16 años, 4 meses
Puntos: 7
Respuesta: BUCLE FOR | Cada 3 bucles, añadir código

ppues no es lo mismo por qu al if le falta el else....
si el if no devuelve true $class no existe
  #6 (permalink)  
Antiguo 29/07/2011, 03:32
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 9 meses
Puntos: 253
Respuesta: BUCLE FOR | Cada 3 bucles, añadir código

Sería así:
Código PHP:
for($num ;$num 10 $num++){
    
$clase ''// Vacío para el caso en que no se inicie.
    
if($num %== 0) {
        
$clase ' class="Clase"'// Si cumple la condición se cambia a la cadena que buscas
    
}
    echo 
'<li' $clase '>Clase</li>';

Te he cambiado el nombre de la variable, ya que class es una palabra reservada y puede darte problemas. Aunque en principio no habría problema, porque PHP lleva las variables con el $ siempre, yo acostumbro a no poner variables con nombres de palabras reservadas ($if, $true, $return...). Es mejor prevenir que curar.

Con eso te valdrá, un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #7 (permalink)  
Antiguo 29/07/2011, 05:46
 
Fecha de Ingreso: diciembre-2003
Mensajes: 157
Antigüedad: 21 años
Puntos: 1
Respuesta: BUCLE FOR | Cada 3 bucles, añadir código

Mnnn...y si quisiese aplicar una clase diferentes a cada uno? Cómo sería?
__________________
http://www.idilicstudio.com
  #8 (permalink)  
Antiguo 29/07/2011, 05:59
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 9 meses
Puntos: 253
Respuesta: BUCLE FOR | Cada 3 bucles, añadir código

A cada uno qué? Explícate mejor.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #9 (permalink)  
Antiguo 29/07/2011, 08:15
 
Fecha de Ingreso: diciembre-2003
Mensajes: 157
Antigüedad: 21 años
Puntos: 1
Respuesta: BUCLE FOR | Cada 3 bucles, añadir código

Cita:
Iniciado por vgonga1986 Ver Mensaje
A cada uno qué? Explícate mejor.
Perdona, quería decir, aplicar a más a más una clase aleatoriamente a cada li, dando como resultado:

<li class="5"></li>
<li class="2"></li>
<li class="1 Clase"></li>
<li class="3"></li>
<li class="4"></li>
<li class="6 Clase"></li>
__________________
http://www.idilicstudio.com
  #10 (permalink)  
Antiguo 29/07/2011, 08:52
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 9 meses
Puntos: 253
Respuesta: BUCLE FOR | Cada 3 bucles, añadir código

No veo si hay algún orden lógico para eso. Con orden lógico me refiero a los múltiplos de 3 que lleven Clase, que es lo primero que pusiste.

Tal y como lo veo ahí me parecen números puestos al azar.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?

Etiquetas: bucle, bucles, código
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 06:42.