Problème petite messagerie php [Résolu/Fermé]

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

Messages postés
28972
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juin 2020
2 488
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


Je te remercie de ta réponse j'ai tester ça mais ca ne fonctionne pas !
Pas d'erreur mais ca n'affiche rien :/
désolé si ça fonctionne mais c'est toujours pareil :/
Messages postés
28972
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juin 2020
2 488 > Asertone
Ça affiche quoi exactement ?
>
Messages postés
28972
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juin 2020

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
Messages postés
28972
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juin 2020
2 488
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
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
Messages postés
28972
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juin 2020
2 488
Oupssd.... un where en trop. ..
tu peux effacer le deuxième.
Messages postés
28972
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juin 2020
2 488
Par contre. .. pour ton "bug" il ya certainement autre chose.
Peux tu poster ton code complet ?
Messages postés
28972
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juin 2020
2 488
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 ?
Merci j'ai trouver une autre solution du coup problème résolue :)
Messages postés
220
Date d'inscription
lundi 2 décembre 2013
Statut
Membre
Dernière intervention
10 octobre 2016
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.
Merci voir post ci dessus