Problème d'affichage avec un while

Répondre
dededick
dededick
Déconnecté
Bonjour, j'ai un problème avec mon script qui devrait afficher des annonces d'emploi. J'ai l'impression qu'il les "sélectionne" :

J'ai deux entrées dans ma table, et il ne m'affiche que la deuxième.

Voici le code :

  1.  
  2. <?php
  3.    // Script d'affichage des annonces 
  4.  
  5.    
  6.  
  7.  
  8.    
  9. $sql = 'SELECT * FROM annonces_emploi'; // Sélection des annonces  
  10. $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
  11. $data = mysql_fetch_array($req);  
  12.  
  13. $id_annonceur = $data['id_annonceur'];   
  14. $job_recherche = $data['job_recherche'];  
  15. $salaire_moyen = $data['salaire_moyen'];  
  16. $commentaire = $data['commentaire'];  
  17.  
  18. $sql = 'SELECT pseudo FROM membre WHERE id = "'.$id_annonceur.'"';  
  19. $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
  20. $data = mysql_fetch_array($req);  
  21.  
  22. $pseudo_annonceur = $data['pseudo'];  
  23.  
  24. $retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM annonces_emploi WHERE id_annonceur != 0');  
  25. $donnees = mysql_fetch_array($retour);  
  26.  
  27. If ($donnees['nbre_entrees'] == 0)  
  28.  
  29. {  
  30. ?>
  31. <p> Nous sommes désolés de vous informer qu'il n'y a aucune annonce présente. </p>
  32.    
  33. <?php
  34.  
  35. }  
  36.  
  37. Else  
  38. { 
  39.    
  40. ?>   
  41.    <?php echo $pseudo; ?>, voici toutes les possibilités d'emploi qui s'offrent à vous :
  42.     <br/>
  43.     <table width="99%">
  44.     <br/>
  45.     <th> Annonceur </th>
  46.     <th> Salaire Moyen </th>
  47.     <th> Job recherché </th>
  48.     <th> Commentaire </th>
  49.    
  50.    <?php  
  51.    
  52.    $sql = 'SELECT * FROM annonces_emploi'; // Sélection des annonces  
  53. $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
  54. $data = mysql_fetch_array($req); 
  55.    
  56.    $id_annonceur = $data['id_annonceur'];   
  57. $job_recherche = $data['job_recherche'];  
  58. $salaire_moyen = $data['salaire_moyen'];  
  59. $commentaire = $data['commentaire']; 
  60.    
  61.    $retour = mysql_query('SELECT * FROM annonces_emploi');  
  62. $donnees = mysql_fetch_array($retour); 
  63.    
  64.    // Affichage des annonces 
  65.    
  66.    
  67.    
  68.    
  69.    while ($donnees = mysql_fetch_array($retour)) 
  70.    { 
  71.    
  72.    echo 
  73.    "
  74.     <tr>
  75.     <td><a href=\"accepter_annonce.php\"?id='".$donnees['id_annonceur']."'&amp;job='".$donnees['job_recherche']."'>", $donnees['pseudo'], "</a></td>
  76.     <td>", stripslashes(htmlentities(trim($donnees['salaire_moyen']))), "<acronym title=\"VitoEuros\"> VE </acronym></td>
  77.     <td>", stripslashes(htmlentities(trim($donnees['job_recherche']))), "</td>
  78.     <td>", stripslashes(htmlentities(trim($donnees['commentaire']))), "</td></tr>
  79.     "; 
  80.    
  81.    } 
  82.    } 
  83.    } 
  84.    ?>
  85.  
  86.  
  87.  


Merci d'avance :)
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
J'ai envie de dire que c'est logique :)

Tu fais un premier mysql_fetch_array, puis ton while mysql_fetch_array,.
Forcement, le premier enregistrement passe dans ce premier mysql_fetch_array, et comme tu ne l'affiches pas, ben tu as l'impression de ne pas avoir le premier enregistrement.
dededick
dededick
Déconnecté
Ah, donc je vais enever le premier mysql_fetch_array ;)

Merci beaucoup :)
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Breizh Blog