Select count

Fermé
lili1192 - Modifié par Chris 94 le 11/05/2014 à 01:51
Kaldoran Messages postés 137 Date d'inscription mercredi 31 octobre 2012 Statut Membre Dernière intervention 21 juin 2015 - 11 mai 2014 à 18:10
salut tout le monde , je veux afficher le nombre de message non lu ( code php) , j'ai créer une table message avec un champs non lu , aprés j'ai lancer ma requete malgré il y a des messages dans ma table mais toujours il m'affiche pas de nouveau message
voila mon code si vous avez une idées s'il vous plait n'hésitez pas à m'aidez
<?php 
$sql1 = 'SELECT COUNT(id_parent) FROM messag_parent,admin WHERE id_dest="'.$_SESSION['id'].'" AND id_expe=admin.id_admin AND messag_parent.etat="non_lu" ORDER BY date_parent DESC'; 
$req1 = mysql_query($sql1) or die('Erreur SQL !<br>'.$sql1.'<br>'.mysql_error()); 
$data1 = mysql_fetch_array($req1); 
if(($sql1)==0) 
echo "pas de neveau message"; 
else 
{ 
echo $sql1 = 'SELECT COUNT(id_parent) FROM messag_parent WHERE id_dest="'.$_SESSION['id'].'" AND id_expe=admin.id_admin AND messag_parent.etat="non_lu" ORDER BY date_parent DESC'; 
} 
?>

2 réponses

Kaldoran Messages postés 137 Date d'inscription mercredi 31 octobre 2012 Statut Membre Dernière intervention 21 juin 2015 29
11 mai 2014 à 18:09
Salut,

l'erreur est ici :
  if(($sql1)==0) 
tu test la requete en elle meme ( le texte ) et non le retour de ta Bdd

D'ailleurs ils serait plus simple de faire un :
$sql1 = 'SELECT COUNT(id_parent) FROM messag_parent,admin WHERE id_dest="'.$_SESSION['id'].'" AND id_expe=admin.id_admin AND messag_parent.etat="non_lu" ORDER BY date_parent DESC'; 

$val = mysql_result(mysql_query($sql1),0) or die('Erreur SQL !<br>'.$sql1.'<br>'.mysql_error());


if ( $val == 0 )
echo "pas de neveau message";
else
echo "Il y a des messages";

ici je peux faire un mysql_result pour cause il y aura toujours au moins la ligne 1 ( qui est numérotée 0 ).
du coup le mysql_result ne retournera aucune erreur ;)
0
Kaldoran Messages postés 137 Date d'inscription mercredi 31 octobre 2012 Statut Membre Dernière intervention 21 juin 2015 29
Modifié par Kaldoran le 11/05/2014 à 19:09
Ps : Voici la correction de ton code :

<?php 
    $sql1 = 'SELECT COUNT(id_parent) As Total FROM messag_parent,admin WHERE id_dest="'.$_SESSION['id'].'" AND id_expe=admin.id_admin AND messag_parent.etat="non_lu" ORDER BY date_parent DESC'; 
    $req1 = mysql_query($sql1) or die('Erreur SQL !<br>'.$sql1.'<br>'.mysql_error()); 
    $data1 = mysql_fetch_array($req1); 
    if( $data1['Total'] ==0 ) 
          echo "pas de neveau message"; 
    else 
    { 
         echo $sql1 = 'SELECT COUNT(id_parent) FROM messag_parent WHERE id_dest="'.$_SESSION['id'].'" AND id_expe=admin.id_admin AND messag_parent.etat="non_lu" ORDER BY date_parent DESC'; 
    } 
?>
0