Page 1 sur 1

Probleme d'incrémentation

Posté : 27 mars 2006, 15:52
par skyangel
Bonjour

je voudrais savoir pourquoi mon $i ne s'incremente pas
la je bloque dessus depuis une heure également et ca m'enerve .

Code : Tout sélectionner

while ($ligne_entete=mysql_fetch_array($req_afficheentete,MYSQL_NUM)) { echo '<th>'.$ligne_entete[$i].'</th>'; echo "la valeur de i ".$i."<br>"; $i++; }
pour quoi $ligne_entete[$i] ne s'increment pas !!!!

Désolé du dérangement e ntout cas ;)

Posté : 27 mars 2006, 15:53
par skyangel
petite précision

$ligne_entete[10] existe !!! donc i devrait prendre comme valeur jusquau moins 10

Posté : 27 mars 2006, 15:55
par Truc
est-ce que $i est initialisé ?
$i=0;

avant la boucle

Posté : 27 mars 2006, 15:57
par Invité
oui i est initialisé oui oui

Posté : 27 mars 2006, 16:00
par Truc
si la varaible $i n'est pas incrémenté ça veut donc dire que tu ne passes pas 10 fois dans la boucle comme tu le penses.

est tu sur que la requete $req_afficheentete renvois bien plusieurs lignes de données ?

Posté : 27 mars 2006, 16:07
par skyangel
Bah je pens que oui


si je fait $ligne_entete[3] , cela me donne date_resiliation
si je fait $lign_entete[9], cela me donne email_sav

donc a mon humble avis il le fait

Posté : 27 mars 2006, 16:17
par Truc
c'est incohérent ce que tu essaie de faire...

Tu veux récupérer les champs "email_sav" (3) et "date_resiliation" (9), par exemple, mais dans cette boucle tu ne va récupérer que $ligne_entete[0] donc ce qui se trouve à l'indice 0 de la table.

Ensuite si cette meme table contient plusieurs tuples (lignes de données) le 2eme passage dans la boucle renvois le contenu du champ $ligne_entete[1] (donc en 2eme position) et ainsi de suite.

Il faut faire comme ceci pour récupérer toutes les données que renvoie la requete.
while ($ligne_entete=mysql_fetch_array($req_afficheentete,MYSQL_NUM))
{
      echo '<th>'.$ligne_entete[0].'</th>';
      echo '<th>'.$ligne_entete[1].'</th>';
      echo '<th>'.$ligne_entete[2].'</th>';     
} 
à la rigueur une sous-boucle:
while ($ligne_entete=mysql_fetch_array($req_afficheentete,MYSQL_NUM))
{
      for($i=0;$i<=10;$i++)
      {
      echo '<th>'.$ligne_entete[$i].'</th>';
      }              
} 

Posté : 27 mars 2006, 16:23
par Invité
while ($ligne_entete=mysql_fetch_array($req_afficheentete,MYSQL_NUM))
{
      for($i=0;$i<=10;$i++)
      {
      echo '<th>'.$ligne_entete[$i].'</th>';
      }              
} 
ah bah ca ca repond a mon probleme
Merci :) :) [/quote]