Problème avec condition IF

WRInaute discret
Bonjour,

J'ai placé une condition dans ma syntae sql afin qu'un message du type "aucun article..." apparaissent lorsqu'il n'y a aucun article dans la catégorie:

$sql = "SELECT COUNT(categorie) AS quantite FROM XXX WHERE categorie LIKE '$categorie'";

if ($quantite == "") {
echo "Aucun article dans cette catégorie";
}

Le pb c'est que le message "Aucun article dans cette catégorie" s'affiche même lorsqu'il y a un article ! ! !

Je cale, merci de m'aider ! :oops:

je vous donne la suite du code:

mysql_connect("sql.free.fr","XXX","XXX");

mysql_select_db("XXX");

$categorie = $HTTP_POST_VARS['categorie'];

$sql = "SELECT * FROM XXX WHERE categorie LIKE '$categorie' ORDER BY 'id' DESC";

$result = mysql_query($sql);

while ($data = mysql_fetch_array($result)) {

echo "<div align='center'> <img src='$data[image]' border='1' width='200' height='160'></div>";
echo "<div align='center'><small><FONT COLOR= #006699><u>Référence:</font></u> $data[id] </small></div>";
echo "<FONT COLOR= #006699><b>Titre:</b></font><g> $data[titre] </g><br><FONT COLOR= #006699> <b>Description:</b> </font> $data[descriptif] <br><br> <FONT COLOR= #006699><b>Prix:</b></font> $data[prix] euro<br> <FONT COLOR= #006699><b>Frais de port:</b></font>$data[port] euro<br><br>";
echo "<FONT COLOR= #006699><b>Lieu:</b></font> $data[ville] - $data[departement]<br>";
echo "<FONT COLOR= #006699><b>Contact:</b></font>$data[mail1]<img src= images/arobase.jpg>$data[mail2]<img src= images/point.jpg>$data[mail3]<br>";
echo "<div align='right'><small><FONT COLOR= #006699><a href='abus.php'>Signaler un abus</a></div></small><br>";
// On s&eacute;pare les resultats
echo '<hr size="4" align="center" width="95%" class="Style1"><br>';

}
 
WRInaute accro
parce que $quantite n'est pas définie !

il faut d'abord effectuer la requête sql puis appeler cette valeur
Code:
$mysql_result=mysql_query($sql); 
$row = mysql_fetch_assoc($mysql_result);
if ($row['quantite']=="")
 
WRInaute discret
est ce que c'est cela car ça n'affiche plus rien:
$sql = "SELECT COUNT(titre) AS quantite FROM XXX WHERE categorie LIKE '$categorie'";
$mysql_result=mysql_query($sql);
$row = mysql_fetch_assoc($mysql_result);
if ($row['quantite']==""){
echo "Aucun article dans cette catégorie";
}

merci
 
WRInaute discret
j'ai modifié avec "data" et je reviens au même pb qu'au départ:

$mysql_result=mysql_query($sql);
$row = mysql_fetch_assoc($mysql_result);
if ($data['quantite']==""){
echo "Aucun article dans cette catégorie";
}
?>

il affiche "Aucun article dans cette catégorie" même quand il y en a un !

Au secourrrrrrrrrrrrrrrrrrrrrrrs !

5 minutes plus tard: j'ai remis row à cause de la variable et rien ne marche (pas de conditions exécutées)

Maintenant, j'ai cela:

$sql = "SELECT COUNT(titre) AS quantite FROM XXX WHERE categorie LIKE '$categorie'";
$mysql_result=mysql_query($sql);
$row = mysql_fetch_assoc($mysql_result);
if ($row['quantite']==""){
echo "Aucun article dans cette catégorie";
}
 
WRInaute occasionnel
tu as modifié $data['quantite'] mais tu a laissé $row = mysql_fetch...

Tu fais un count, donc il ne faut pas tester si la chaine est vide, mais plutot si c'est egal a zero :

Code:
$sql = "SELECT COUNT(titre) AS quantite FROM XXX WHERE categorie LIKE '$categorie'";
$mysql_result=mysql_query($sql);
$row = mysql_fetch_assoc($mysql_result);
if ($row['quantite']==0){
echo "Aucun article dans cette catégorie";
}
 
Discussions similaires
Haut