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. 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

    0
    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 :/
      0
    2. désolé si ça fonctionne mais c'est toujours pareil :/
      0
    3. Modérateur
      @AsertoneÇa affiche quoi exactement ?
      0
    4. @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
      0
  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
    0
    1. Merci je pourrais pas tester ça ce soir mais je te tiens au courant rapidement d'ici demain !
      0
    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
      0
    3. Modérateur
      Oupssd.... un where en trop. ..
      tu peux effacer le deuxième.
      0
    4. Modérateur
      Par contre. .. pour ton "bug" il ya certainement autre chose.
      Peux tu poster ton code complet ?
      0
    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 ?
      0
  3. 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. Merci voir post ci dessus
      0