Boucle for

Résolu
zerdg Messages postés 86 Date d'inscription   Statut Membre Dernière intervention   -  
DesTunK Messages postés 361 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai codé une boucle for qui m'affiche une liste d'identifiant. Elle marche mais j'aimerais générer cette liste espacé de 6
voici le code
for($i=5; $row = $req->fetch(); $i++){

echo 'B'.$i, "- ".$row['identifiant']."<br/>";
}

affiche :
B5- 13
B6- 14
B7- 15
B8- 16
B9- 17
et je voudrais ça :
B5- 13
B6- 14
B7- 15
B8- 16
B9- 17

B15- 13
B16- 14
B17- 15
B18- 16
B19- 17
Pouvez-vous m'aider?
A voir également:

2 réponses

Danelectro Messages postés 1737 Date d'inscription   Statut Membre Dernière intervention   371
 
Si j'ai bien compris tu veux deux listes à la suite ? Pourquoi ne pas faire deux boucles for ?
0
zerdg Messages postés 86 Date d'inscription   Statut Membre Dernière intervention   2
 
il faut que les deux liste (même s'il y en à plus) doivent être séparé de 6 chiffres car je ne peux pas prévoir le nombre d'identifiant.
0
Danelectro Messages postés 1737 Date d'inscription   Statut Membre Dernière intervention   371
 
Et tu peux avoir plus de 2 groupes d'identifiants ?
Dans ce cas tu fais par exemple (dans la boucle for) :

if($i % 6 == 0)
echo "<br>";
0
DesTunK Messages postés 361 Date d'inscription   Statut Membre Dernière intervention   157
 
C'est un bout de la réponse, mais ça ne permet pas de ne pas avoir les champs entre B9 et B15
0
DesTunK Messages postés 361 Date d'inscription   Statut Membre Dernière intervention   157
 
Essaie d'ajouter une condition avant ton echo alors non ?

If () {
echo *****
}

Après, à toi de changer la condition en mettant un modulo pour pour faire ta boule :)

Enfin, je suis pas sur de comprendre, les valeurs de B5 et B15 sont toujours identiques ? Et ca le sera pour B25 ?
0
zerdg Messages postés 86 Date d'inscription   Statut Membre Dernière intervention   2
 
Les valeurs B5,B6 ... sont en faite les positions de différentes cellules pour excel elle sont là juste pour que je sache si ma boucle incrémente correctement
0
DesTunK Messages postés 361 Date d'inscription   Statut Membre Dernière intervention   157
 
Car dans ton exemple, B5 = B15, c'est une coincidence ?
0
zerdg Messages postés 86 Date d'inscription   Statut Membre Dernière intervention   2
 
oui c'est normal je veux que la liste ce répète X fois espacé de 6 cellules
du coups B5 =B15=B25 etc
0
Danelectro Messages postés 1737 Date d'inscription   Statut Membre Dernière intervention   371
 
Dans ce cas une boucle while est plus appropriée. Changer à la main un indice dans un for c'est pas conseillé.
0
DesTunK Messages postés 361 Date d'inscription   Statut Membre Dernière intervention   157
 
Alors c'est plus simple :)

$val = 5;
for($i=$val; $row = $req->fetch(); $i++){
   if($i<$val+5 || $i>val+9)
      echo 'B'.$i, "- ".$row['identifiant']."<br/>";
}


Après, je te conseille de changer la condition pour avoir quelquechose avec du modulo
0