Mysql_fetch_array il m'affiche que la 1val

Résolu/Fermé
than24 Messages postés 63 Date d'inscription dimanche 27 septembre 2009 Statut Membre Dernière intervention 30 septembre 2012 - 27 sept. 2012 à 12:01
than24 Messages postés 63 Date d'inscription dimanche 27 septembre 2009 Statut Membre Dernière intervention 30 septembre 2012 - 27 sept. 2012 à 14:45
Bonjour,
je vous expose mon probleme on esperons que quelqu'un s'aura me repondre :voici mon code php :

  
<?PHP 
					  
  include('../../connexion.php');
 $sql="SELECT libelle FROM lieu ";
					
 $req=mysql_query($sql);
$res=mysql_fetch_array($req);
   $libelle1=$res[0];
   $libelle2=$res[1];		   
 $libelle2=$res[2];				   
echo"$libelle1";
echo"$libelle2";
echo"$libelle3";

                mysql_close($connection);
  ?>


mon probleme est qu'il m'affiche que la premiere valeur et pour les autre il m'affiche le probleme suivant:
Notice: Undefined offset: 1in la ligne qui lui correspond
Notice: Undefined offset: 2 in la ligne qui lui correspond
Notice: Undefined offset:3 in la ligne qui lui correspond
j'ai fais un fais un teste pour detecter le nbr d'enregistrement detecter avec mysql_num_rows il m'affiche le nobre exacte qui exite dansma table (10 enregistrement)
si quelqun peut m'aider je serai tres contente car je ne comprend pas vraiment .
merci



config>Windows 7 / Internet Explorer 9.0</config>

2 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
Modifié par Alain_42 le 27/09/2012 à 13:06
c'est normal pour avoir tous les résultats il faut faire une boucle while

<?php 
        
  include('../../connexion.php'); 
 $sql="SELECT libelle FROM lieu "; 
      
 $req=mysql_query($sql); 
  
while($res=mysql_fetch_array($req)){ 
   $libelle1=$res[0]; 
   $libelle2=$res[1];      
 $libelle3=$res[2];        
 echo $libelle1; 
 echo $libelle2; 
 echo $libelle3; 
 echo '<br />'; 
} 

   mysql_close($connection); 
  ?>
0
Utilisateur anonyme
27 sept. 2012 à 13:57
Bonjour

La requête ne demande qu'un seul champ : libelle
Donc $res[1] et $res[2] n'existent pas : seul existe $res[0] qui est la même chose que $res['libelle'].

<?php 
        
  include('../../connexion.php'); 
 $sql="SELECT libelle FROM lieu "; 
      
 $req=mysql_query($sql); 
  
while($res=mysql_fetch_array($req)){ 
  echo htmlspecialchars($res['libelle']),'<br />';
} 

   mysql_close($connection); 
  ?>
0
than24 Messages postés 63 Date d'inscription dimanche 27 septembre 2009 Statut Membre Dernière intervention 30 septembre 2012 8
27 sept. 2012 à 14:45
hoooo!!! merci infinnement c'est bon ça marche !!!! merci pour les deux explication !! je dormirai moin bete aujourd'hui.
0