Incrémentation de variable

Incrémentation de variable - PHP - Programmation

Marsh Posté le 09-03-2009 à 08:12:27    

Je cherche à remplacer le code répétitif suivant :
 

Code :
  1. {
  2.   $datehit1 = $rows['date'];
  3.   $id_util1 = $rows['id_utilisateur'];
  4.   $pourcentagehit1 = $rows['pourcentage'];
  5.   $questionshit1 = $rows['questions'];
  6.   $datehit2 = $rows['date'];
  7.   $id_util2 = $rows['id_utilisateur'];
  8.   $pourcentagehit2 = $rows['pourcentage'];
  9.   $questionshit2 = $rows['questions'];
  10.   $datehit3 = $rows['date'];
  11.   $id_util3 = $rows['id_utilisateur'];
  12.   $pourcentagehit3 = $rows['pourcentage'];
  13.   $questionshit3 = $rows['questions'];
  14.  }


 
par celui-ci  

Code :
  1. $cpt = 0;
  2. while ($rows=mysql_fetch_array($result))
  3.   {
  4.    $cpt ++;
  5.    ${'datehit.$cpt'} = $rows['date'];
  6.    ${'id_util.$cpt'} = $rows['id_utilisateur'];
  7.    ${'pourcentagehit.$cpt'} = $rows['pourcentage'];
  8.    ${'questionshit.$cpt'} = $rows['questions'];
  9.   }


 
mais de toute évidence mes variables ne se reconstituent pas correctement car, quand j'ajoute le code suivant  

Code :
  1. echo '$id_util1 vaut '.$id_util1;
  2.    echo '$id_util2 vaut '.$id_util2;


 
je ne vois pas le contenu des variables $id_util1 et $id_util2 car je n'obtiens que J'obtiens à l'écran que $id_util1 vaut $id_util2 vaut $id_util1 vaut $id_util2 vaut $id_util1 vaut $id_util2 vaut.
Pas de message d'erreur par conséquent mais il y a un problème quelque part et je ne vois pas où malgré mes recherches dans les posts existants. Je remercie par avance les généreux contributeurs.
tete278


Message édité par tete278 le 09-03-2009 à 08:13:46
Reply

Marsh Posté le 09-03-2009 à 08:12:27   

Reply

Marsh Posté le 09-03-2009 à 08:41:02    

:vomi:

 

tu vousdrai pas plutôt utiliser des tableaux ?

 

$stat[$cpt]['date']
$stat[$cpt]['id_utilisateur']
$stat[$cpt]['pourcentage']
$stat[$cpt]['questions']

 

au passage echo '$toto' affiche $totot
echo "$toto" affiche la valeur de la variable toto


Message édité par flo850 le 09-03-2009 à 08:41:14

---------------

Reply

Marsh Posté le 09-03-2009 à 16:31:19    

$toto = 'var1';
$$toto = 10; //va créer $var1 qui vaudra 10
 
 
$('datehit' . $cpt) = $row['date'];
 
mais je suis d'accord avec flo850 : utilises des tableaux !!


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 10-03-2009 à 17:00:48    

Bonjour et merci à flo850 et fluminis pour votre aide.
Puis-je vous demander en quoi l'utilisation de tableaux serait préférable dans ce cas précis qui consiste à récupérer des informations présentes dans une table Mysql ?
Merci encore.
 
tete278


Message édité par tete278 le 11-03-2009 à 10:51:37
Reply

Marsh Posté le 10-03-2009 à 17:42:07    

C'est beaucoup plus propre et lisible.. Ton code là ça va marcher tant que tu l'as "dans les yeux" mais le jour ou tu dois le passer à quelqu'un d'autre, c'est fini


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 11-03-2009 à 10:56:20    

Merci pour ta réponse esox_ch.
 
J'ai compris la technique proposée par fluminis, mais je n'arrive pas à utiliser cette technique des tableaux initiée par flo850. Est-ce possible d'être encore plus préçis ?
Merci d'avance.
 
tete278

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed