Select count

lili1192 -  
Kaldoran Messages postés 146 Statut Membre -
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

  1. Kaldoran Messages postés 146 Statut Membre 29
     
    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
  2. Kaldoran Messages postés 146 Statut Membre 29
     
    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