Incrémentation d'une variable

Eléphanteau du PHP | 40 Messages

24 mars 2007, 21:10

Bonjour,
alors j'ai un probleme car je suis en possession d'un tableau, et j'aimerais attribuer une variables à chaque éléments : voici le code :
$n = '1';		
$rslt = requete SQL

while( $row = mysql_fetch_assoc( $rslt ) ) 
			{ 		echo ''.$row["pseudo"].'' ;
					${variable$n}= "'.$row["pseudo"].'" ;
					$n = '$n + 1';
			}	
En gros j'aimerais avoir

variable1=josé
variable2=rené
....
variablen=georgette

Le while permet de faire la boucle, mais je n'arrive pas à incrémenter le $n...
Et il y aurait une erreur à la ligne
${variable$n}= "'.$row["pseudo"].'" ;
Si quelqu'un peut m'aider...
Merci.
-- Moteur de recherche qui agit pour l'environnement : www.ecogine.org --

Mammouth du PHP | 693 Messages

24 mars 2007, 23:06

Permièrement
echo ''.$row["pseudo"].'' ; 
Supprime les guillements et les concaténations qui ne servent à rien car tu rajoute à la variable des chaines vides...

Deuxièmement
${variable$n}= "'.$row["pseudo"].'"
pareil, rien que dans l'analyseur tu vois que ca marche pas.

Troisièmement
$n = '1';
[...]
$n = '$n + 1';  
Ce code est meilleur
$n = 1;
[...]
$n = $n++;  
Enfin, ton problème en temps que tel.

Déjà, il me semble que ca serait plutot ca :
$variable{$n}=

Cependant, je ne suis pas sur que ca marche. Je te conseille donc d'utiliser plutot un tableau, ce qui donne :
$variable["$n"]=

De plus, tu pourra ensuite utiliser des fonctions de traitement de tableau style foreach, sort, etc...

Eléphant du PHP | 170 Messages

25 mars 2007, 10:21

Tu ferais mieux d'utiliser un array() que d'utiliser un truc bancal à souhait.
<?php
$i=1;
while($row = mysql_fetch_assoc( $rslt ))
{
$tableau[$i]=$row['pseudo'];
$i++;
}
?>
Benjamin Franklin a dit :
Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends

Invité
Invité n'ayant pas de compte PHPfrance

25 mars 2007, 19:48

Un autre choix si tu veux conserver les concaténations. :
$n = 1;        
$rslt = requete SQL

while( $row = mysql_fetch_array( $rslt ) ) 
            {      echo $row["pseudo"] ;
                    $cle = '$variable.$n';
                    $tab[$cle]= $row["pseudo"] ;
                    $n++;
            } 
Tu auras ainsi un tableau où la clef sera "variablen" et la valeur $row["pseudo"] à la valeur n.

ViPHP
ViPHP | 1996 Messages

25 mars 2007, 19:50

C'est moi le dernier message...
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr