Problème d'affichage avec un while

Répondre
dededick
le 25/06/2007 à 08:38
dededick
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 :

<?php
// Script d'affichage des annonces





$sql = 'SELECT * FROM annonces_emploi'; // Sélection des annonces
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);

$id_annonceur = $data['id_annonceur'];
$job_recherche = $data['job_recherche'];
$salaire_moyen = $data['salaire_moyen'];
$commentaire = $data['commentaire'];

$sql = 'SELECT pseudo FROM membre WHERE id = "'.$id_annonceur.'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);

$pseudo_annonceur = $data['pseudo'];

$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM annonces_emploi WHERE id_annonceur != 0');
$donnees = mysql_fetch_array($retour);

If ($donnees['nbre_entrees'] == 0)

{
?>
<p> Nous sommes désolés de vous informer qu'il n'y a aucune annonce présente. </p>

<?php

}

Else
{

?>
<?php echo $pseudo; ?> , voici toutes les possibilités d'emploi qui s'offrent à vous :
<br/>
<table width="99%">
<br/>
<th> Annonceur </th>
<th> Salaire Moyen </th>
<th> Job recherché </th>
<th> Commentaire </th>

<?php

$sql = 'SELECT * FROM annonces_emploi'; // Sélection des annonces
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);

$id_annonceur = $data['id_annonceur'];
$job_recherche = $data['job_recherche'];
$salaire_moyen = $data['salaire_moyen'];
$commentaire = $data['commentaire'];

$retour = mysql_query('SELECT * FROM annonces_emploi');
$donnees = mysql_fetch_array($retour);

// Affichage des annonces




while ($donnees = mysql_fetch_array($retour))
{

echo
"
<tr>
<td><a href=\"accepter_annonce.php\"?id='".$donnees['id_annonceur']."'&amp;job='".$donnees['job_recherche']."'>", $donnees['pseudo'], "</a></td>
<td>", stripslashes(htmlentities(trim($donnees['salaire_moyen']))), "<acronym title=\"VitoEuros\"> VE </acronym></td>
<td>", stripslashes(htmlentities(trim($donnees['job_recherche']))), "</td>
<td>", stripslashes(htmlentities(trim($donnees['commentaire']))), "</td></tr>
";

}
}
}
?>


Merci d'avance :)
LA GLOBULE
le 25/06/2007 à 09:56
LA GLOBULE
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
le 25/06/2007 à 11:41
dededick
Ah, donc je vais enever le premier mysql_fetch_array ;)

Merci beaucoup :)
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours