Problème d'affiche en liste des données de ma BDD
Posté : 01 sept. 2005, 12:11
salut à vous tous,
j'ai une bdd qui comporte une table dans laquelle se trouve des petites annonces....
j'ai trier ces annonces par catégorie, et chaque catégorie est un lien hypertexte qui renvoi vers une liste des différents annonces dans cette catégorie, et chaque ligne de cette liste envoi sur la fiche technique de l'annonce...
j'explique ce que je voulais faire:
en fait je vérifie si $verif est vide de manière à savoir si j'ai du contenu ou pas dans la catégorie choisie...
si ce n'est pas vide cela affiche la liste... ça c'est la théorie mais en pratique...
si la catégorie est vide mon message d'erreur s'affiche parfaitement sous la forme d'une image, donc ça ça va...
Donc je ne comprend pas pourquoi une disparait alors que les autres s'affiche et à priori mon principe à l'air correct puisque tout s'affiche sauf une annonces...
voilà c'était long à lire mais au moins c'est précis,
merci d'avance...
j'ai une bdd qui comporte une table dans laquelle se trouve des petites annonces....
j'ai trier ces annonces par catégorie, et chaque catégorie est un lien hypertexte qui renvoi vers une liste des différents annonces dans cette catégorie, et chaque ligne de cette liste envoi sur la fiche technique de l'annonce...
pour tout afficher pas de problème mais je me suis rendu compte que si une catégorie était vide je n'avais pas de message d'erreur indiquant que cette catégorie ne contient pas d'annonces... et c'est là que tout se complique...catégorie1
catégorie2
catégorie3 --> liste1
--> liste2
--> liste3
--> liste4 --> fiche4
<?
$categorie_annonce = htmlentities($_GET['categorie_annonce']);
?>
<TD width=608 align=center>
<a href=annonces.php>Retour à la liste des catégories</a>
<table width=550 border=0>
<tr><td> </td></tr>
<tr>
<td class="titre2" align=left bgcolor=#FF6701>Photo</td>
<td class="titre2" align=left bgcolor=#FF6701>Intitulé</td>
<td class="titre2" align=left bgcolor=#FF6701>Description</td>
<td class="titre2" align=left bgcolor=#FF6701>Date de vente</td>
<td class="titre2" align=left bgcolor=#FF6701 colspan=2>Lieu de l'objet</td>
</tr>
<?
$objet = mysql_query("SELECT * FROM annonces WHERE categorie_annonce='$categorie_annonce' ORDER BY date_vente AND id_annonce DESC");
$verif = mysql_fetch_array($objet);
if(!empty($verif))
{
while ($listing = mysql_fetch_array($objet))
{
echo '
<tr>
<td height=100 width=100 align=center>photo</td>
<td bgcolor=#F6F5F5><a href=annonce-fiche.php?id_annonce='.$listing['id_annonce'].'>'.$listing['nom_annonce'].'</a></td>
<td bgcolor=#F6F5F5>'.$listing['courte_description_annonce'].'</td>
<td bgcolor=#F6F5F5>'.$listing['date_vente'].'</td>
<td bgcolor=#F6F5F5>'.$listing['ville_annonce'].'<br>'.$listing['dept_annonce'].'</td>
</tr><tr><td> </td>
</tr>';
}
}
else
{
echo '<p><img src=images/no-annonces.gif></p>';
}
?>
</table>
</TD>
Ma page est composé de tableau imbriqué et cette cellule qui englobe tout mon script est la partie principale de ma page...j'explique ce que je voulais faire:
en fait je vérifie si $verif est vide de manière à savoir si j'ai du contenu ou pas dans la catégorie choisie...
si ce n'est pas vide cela affiche la liste... ça c'est la théorie mais en pratique...
si la catégorie est vide mon message d'erreur s'affiche parfaitement sous la forme d'une image, donc ça ça va...
mais si la catégorie contient des annonces et bien la liste s'affiche mais elle est imputé d'une annonce. C'est-à-dire que si j'en ai 3 seules 2 s'affiche...<img src=images/no-annonces.gif>
Donc je ne comprend pas pourquoi une disparait alors que les autres s'affiche et à priori mon principe à l'air correct puisque tout s'affiche sauf une annonces...
voilà c'était long à lire mais au moins c'est précis,
merci d'avance...