Problème petite messagerie php

Résolu
Asertone -  
 Asertone -
Bonsoir,
voila j'ai un petit soucis que j'arrive pas à comprendre/résoudre.
Mon script qui affiche combien il y'a de messages non lu m'affiche à chaque fois par 2 chiffres.
c'est à dire si j'ai 1 nouveau message il m'affiche 11
si j'ai 2 il m'affiche 22
si j'ai 3 il m'affiche 33 etc ..

Voici le script:
<?
$result1 = mysql_query("select id,dat,expiration,destinataire,sujet,pseudo from mess, membre where lecture=0");
$num_rows = mysql_num_rows($result1);

echo $num_rows; 
?>


Voila merci de vos réponses!

3 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    A mon avis ... tu lances ton script plusieurs fois...
    Essayes ça :
    <?
    $sql="SELECT id
                  ,dat
                  ,expiration
                  ,destinataire
                  ,sujet,pseudo 
    FROM mess, membre 
    WHERE lecture=0";
    $result1 = mysql_query($sql);
    $num_rows = mysql_num_rows($result1);
    
    echo "<br>".  date('Y-m-d H:i:s') ." - <b>Nombre de resultats :</b>".$num_rows."<br>"; 
    ?>
    
    


    PS: Rien à voir avec ton souci... mais pour info.. tu utilises l'ancienne extension mysql_*
    Je t'invites à lire ceci :https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top

    0
    1. Asertone
       
      Je te remercie de ta réponse j'ai tester ça mais ca ne fonctionne pas !
      Pas d'erreur mais ca n'affiche rien :/
      0
    2. Asertone
       
      désolé si ça fonctionne mais c'est toujours pareil :/
      0
      1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > Asertone
         
        Ça affiche quoi exactement ?
        0
      2. Asertone > jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention  
         
        2015-03-04 23:26:30 - Nombre de resultats :22
        Même explication que le premier poste !
        Et en plus de ca je voulais te demander pour afficher seulement les messages de l'utilisateur connecté ca serait ca ?
        <?
        $sql="SELECT id
                      ,dat
                      ,expiration
                      ,destinataire
                      ,sujet,pseudo 
        FROM mess, membre 
        WHERE lecture=0 AND WHERE pseudo='$SESSION["login"]";
        $result1 = mysql_query($sql);
        $num_rows = mysql_num_rows($result1);
        
        echo "<br>".  date('Y-m-d H:i:s') ." - <b>Nombre de resultats :</b>".$num_rows."<br>"; 
        ?>


        Merci
        0
  2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Comme ceci :
    <?php
    $sql="SELECT id
                  ,dat
                  ,expiration
                  ,destinataire
                  ,sujet,pseudo 
    FROM mess,
            membre 
    WHERE  mess.pseudo = membre.pseudo
    AND lecture=0 
    AND pseudo='".$SESSION["login"]."'";
    $result1 = mysql_query($sql) or die("Requête invalide : " . mysql_error() . "<br> REQUETE :<br>".$sql);
    $Nbrows = mysql_num_rows($result1);
    
    echo "<br>-------------------------------------------";
    echo "<br>".  date('Y-m-d H:i:s') ." - <b>Nombre de resultats :</b>".$Nbrows;
    echo "<br>-------------------------------------------</br>"; 
    
    //Puis pour afficher les résultats dans ta page, par exemple :
    if($Nbrows){
      while ($row = mysql_fetch_assoc($result1)) {
         echo "<br>";
         print_r($row);
      } 
    }
    
    ?>
    


    EDIT : Suppression du WHERE en trop dans la requête.
    EDIT² : Ajout de la jointure entre les deux tables
    0
    1. Asertone
       
      Merci je pourrais pas tester ça ce soir mais je te tiens au courant rapidement d'ici demain !
      0
    2. Asertone
       
      Du coup j'ai eu le temps d'essayer mais sans succès il me dit que j'ai une erreur au niveau de AND WHERE pseudo='".$SESSION["login"]."'";

      et en enlevant AND WHERE pseudo='".$SESSION["login"]."'";
      j'ai toujours pareil qu'au premier poste sur le forum :/

      Merci
      0
    3. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Oupssd.... un where en trop. ..
      tu peux effacer le deuxième.
      0
    4. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Par contre. .. pour ton "bug" il ya certainement autre chose.
      Peux tu poster ton code complet ?
      0
    5. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Par contre... dans ton FROM tu mets DEUX tables ... mais tu ne fais aucune liaison entre elles dans ton WHERE...
      Quel est le champ commun aux deux tables ?
      0
  3. Xavierdu34 Messages postés 223 Statut Membre 21
     
    Bonjour, essaie ça :

    <?
    $result1 = mysql_query("select id,dat,expiration,destinataire,sujet,pseudo from mess, membre where lecture=0");
    echo mysql_num_rows($result1); ?>


    Cela fait longtemps que je n'ai pas utilisé mysql_query et num_rows mais essai tout de même.
    0
    1. Asertone
       
      Merci voir post ci dessus
      0