boucle for et incrementation de variable

Eléphant du PHP | 138 Messages

14 juin 2006, 10:21

Salut,

J'ai besoin d'un petit coup de main sur une liste deroulante sur laquelle je souhaite apporte une modif en php

voici le code

Code : Tout sélectionner

$dep_var = la variable a tester $dep1 = "01 - Ain"; $dep2 = "02 - Aisne"; $dep3 = "03 - Allier"; $dep4 = "04 - Alpes-de-Haute-Provence"; $dep5 = "05 - Hautes-Alpes"; $dep6 = "06 - Alpes-Maritimes"; echo "<option value=''>--S&eacute;lectionnez--</option>"; for ($i=0; $i<98; $i++) //i represente le nbre de departements { $dep2 = $dep.$i; // c'est ici que je ne voit pas comment faire if ($dep_var=="$dep2"){$selection.$i="SELECTED";} echo "<option value='$dep2' $selectione$i>$dep2</option>"; }
J'ai essayer mais je pense a un probleme de syntaxe

Merci de votre aide

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

14 juin 2006, 10:28

Hello,

Ne serait il pas plus simple de mettre tes valeurs dans un tableau et de le parcourir avec un foreach ? Sinon, ce que tu dois faire pour constituer un nom de variable, c'est d'utiliser la notation complexe de php :
$a = 123;
$b = "a";

// les commandes suivantes affiche 123
echo $$b; 
echo ${$b};
echo ${"a"};
Dans ton cas, cela devrait ressembler à
${"dep".$i}
mais demande toi quand même si ce n'est pas plus simple de faire un tableau (éventuellement indexé) $departement ;)

Edit : p'tit complément dans les commandes qui affichent 123
Modifié en dernier par Ryle le 14 juin 2006, 10:34, modifié 1 fois.

Mammouth du PHP | 1353 Messages

14 juin 2006, 10:31

Bonjour,

je te conseille personnellement l'utilisation d'un tableau :
<?php 

$dept = array("01 - Ain","02 - Aisne","...");
echo "<option value=''>--S&eacute;lectionnez--</option>"; 
for ($i=0; $i<98; $i++) //i represente le nbre de departements 
{ 
$dep2 = $dept[$i];
...
?>
Il y a aussi la fonction foreach() pour parcourir le tableau...

EDIT: Devancé :(
Tell me and I forget. Teach me and I remember. Involve me and I learn.

Invité
Invité n'ayant pas de compte PHPfrance

14 juin 2006, 10:49

ca fonctionne a merveille merci de ton aide

pour ceux que ca interesse le resultat

Code : Tout sélectionner

$dep_var = la var a comparer $dep1 = "01 - Ain"; $dep2 = "02 - Aisne"; $dep3 = "03 - Allier"; $dep4 = "04 - Alpes-de-Haute-Provence"; $dep5 = "05 - Hautes-Alpes"; $dep6 = "06 - Alpes-Maritimes"; $dep7 = "07 - Ard&egrave;che"; echo "<option value=''>--S&eacute;lectionnez--</option>"; for ($i=0; $i<98; $i++) { if ($dep_var=="${'dep'.$i}") {${'selection'.$i}="SELECTED";} echo "<option value='${'dep'.$i}' ${'selection'.$i}>${'dep'.$i}</option>"; }