Probleme d'incrémentation

skyangel
Invité n'ayant pas de compte PHPfrance

27 mars 2006, 15:52

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 ;)

skyangel
Invité n'ayant pas de compte PHPfrance

27 mars 2006, 15:53

petite précision

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

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

27 mars 2006, 15:55

est-ce que $i est initialisé ?
$i=0;

avant la boucle

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Invité
Invité n'ayant pas de compte PHPfrance

27 mars 2006, 15:57

oui i est initialisé oui oui

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

27 mars 2006, 16:00

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 ?

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

skyangel
Invité n'ayant pas de compte PHPfrance

27 mars 2006, 16:07

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

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

27 mars 2006, 16:17

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>';
      }              
} 

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Invité
Invité n'ayant pas de compte PHPfrance

27 mars 2006, 16:23

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]