Problème petite messagerie php

Résolu/Fermé
Asertone - 4 mars 2015 à 21:17
 Asertone - 5 mars 2015 à 16:49
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!
A voir également:

3 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
4 mars 2015 à 21:35
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
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
désolé si ça fonctionne mais c'est toujours pareil :/
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649 > Asertone
4 mars 2015 à 23:21
Ça affiche quoi exactement ?
0
Asertone > jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024
4 mars 2015 à 23:29
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
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
Modifié par jordane45 le 5/03/2015 à 10:51
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
Merci je pourrais pas tester ça ce soir mais je te tiens au courant rapidement d'ici demain !
0
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
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
5 mars 2015 à 09:20
Oupssd.... un where en trop. ..
tu peux effacer le deuxième.
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
5 mars 2015 à 09:21
Par contre. .. pour ton "bug" il ya certainement autre chose.
Peux tu poster ton code complet ?
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
5 mars 2015 à 10:50
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
Xavierdu34 Messages postés 216 Date d'inscription lundi 2 décembre 2013 Statut Membre Dernière intervention 10 octobre 2016 21
Modifié par Xavierdu34 le 5/03/2015 à 10:31
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
Merci voir post ci dessus
0