boucle while sur tableau

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : boucle while sur tableau

par nicolas » 18 mars 2006, 00:25

for ($i=0;$i<sizeof($membre);$i++)
	{

  echo $membre[$i];
	 }

Il faut éviter de faire le sizeof dans la boucle!
Calcule la limite en utilisant une variable pour éviter de calculer la taille du tableau à chaque tour de boucle:
$max=sizeof($membre);
for ($i=0;$i<$max;$i++) {
  echo $membre[$i];
}
ou en condensé:
for ($i=0,$max=sizeof($membre);$i<$max;$i++) {
  echo $membre[$i];
}
Attention la dernière écriture peut te sembler équivalente à ce que tu avais écrit mais il n'en est rien. L'initialisation de $max ne se fait qu'une fois.

par logone » 18 mars 2006, 00:10

Désolé pour l'oublie

par BeRoots » 17 mars 2006, 22:18

interessant :-k

n'oublis pas de mettre résolu si tu n'a plus de problème ;)

par logone » 16 mars 2006, 19:15

J'ai cherche et ai reussit a trouve en effet la boucle for est plus appropriée
voila le code si ca peux aider
for ($i=0;$i<sizeof($membre);$i++)
	{

  echo $membre[$i];
	 }

par Ryle » 16 mars 2006, 19:01

Hello :)

Ton tableau $id_membre est le résultat d'un formulaire, pas d'une base de données, ce n'est donc pas dans les fonction mysql qu'il te faut chercher :)

Le plus simple pour lire ce genre de tableau n'est pas d'utiliser une boucle while, mais une boucle foreach (bien qu'un while puisse être utilisé malgré tout)
// le foreach fonctionne comme ceci :
foreach($id_membre as $id) { // pour chaque élément de $id_membre, placé dans la variable $id
  echo $id; // affiche la valeur de $id, ou tout autre traitement :)
}

// Le while t'oblige à avoir un compteur, mais peut aussi être envisagé
$cpt = 0;
while ($cpt < count($id_membre)) {
  echo $id_membre[$cpt];
  $cpt++;
}

boucle while sur tableau

par logone » 16 mars 2006, 18:24

Salut,

J'ai besoin de faire une boucle sur le retour d'une liste deroulante dans un formulaire.

Voici le formulaire

Code : Tout sélectionner

<select name="id_membre[]" size="5" multiple="multiple" class="intitule" id="id_membre"> <option value="0">--Sélectionnez--</option> <?php while ($row = mysql_fetch_array($membre_liste) ) { ?> <option value="<?php echo $row[0];?>"><?php echo "$row[1] $row[2]";?> </option> <?php } ?> </select>
Je recupere bien mon tableau car si je fais echo $id_membre[0] et $id_membre[1]; j'ai bien les infos

Mais la ou je bloc c'est pour effectuer une boucle while sur ce tableau
voici ce que j'a mis mais ca ne fonctionne pas
while($data=mysql_fetch_array($id_membre))
{ // debut de la boucle while
       
        } 
Merci de votre aide