Problème petite messagerie php

Résolu
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. 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.
    1. Merci voir post ci dessus
  2. Modérateur
    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
    1. Merci je pourrais pas tester ça ce soir mais je te tiens au courant rapidement d'ici demain !
    2. 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
    3. Modérateur
      Oupssd.... un where en trop. ..
      tu peux effacer le deuxième.
    4. Modérateur
      Par contre. .. pour ton "bug" il ya certainement autre chose.
      Peux tu poster ton code complet ?
    5. Modérateur
      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 ?
  3. Modérateur
    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

    1. Je te remercie de ta réponse j'ai tester ça mais ca ne fonctionne pas !
      Pas d'erreur mais ca n'affiche rien :/
    2. désolé si ça fonctionne mais c'est toujours pareil :/
    3. @jordane452015-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