Compter le nombre de messages
jobouille
Messages postés
356
Statut
Membre
-
jobouille Messages postés 356 Statut Membre -
jobouille Messages postés 356 Statut Membre -
Bonjour à tous !
Sur mon site j'ai créer un système de message privé.
Voici le code qui affiche le ou les messages que l'on reçoit :
La variable $allmsg avec le while permet d'afficher TOUS les messages de la table message_prive.
Avec le if qui suit, j'affiche que les messages où le destinataire est égal au pseudo du compte.
Je doute que ce soit la meilleure façon mais ça fonctionne.
Le problème étant que : si la personne à un ou plusieurs messages, dans ce cas ces messages sont affichés. Mais si il n'a pas de messages j'aurais aimé qu'un texte s'affiche : Vous n'avez aucun nouveau message.
Je ne sais pas du tout comment m'y prendre. Peut être avec un compteur qui compte le nombre de ligne de la table message_prive où destinataire == pseudo.
J'espère avoir été clair.
Merci et bonne journée
Sur mon site j'ai créer un système de message privé.
Voici le code qui affiche le ou les messages que l'on reçoit :
<?php
$allmsg = $bdd->query('SELECT * FROM mp ORDER BY id DESC LIMIT 0, 20');
while($msg = $allmsg->fetch())
{
if($msg['destinataire'] == $user['pseudo'])
{
?>
<!--===========================-->
ICI S'AFFICHE LE OU LES MESSAGES
<!--===========================-->
<?php
}
}
?>
La variable $allmsg avec le while permet d'afficher TOUS les messages de la table message_prive.
Avec le if qui suit, j'affiche que les messages où le destinataire est égal au pseudo du compte.
Je doute que ce soit la meilleure façon mais ça fonctionne.
Le problème étant que : si la personne à un ou plusieurs messages, dans ce cas ces messages sont affichés. Mais si il n'a pas de messages j'aurais aimé qu'un texte s'affiche : Vous n'avez aucun nouveau message.
Je ne sais pas du tout comment m'y prendre. Peut être avec un compteur qui compte le nombre de ligne de la table message_prive où destinataire == pseudo.
J'espère avoir été clair.
Merci et bonne journée
A voir également:
- Compter le nombre de messages
- Comment savoir si quelqu'un lit mes messages sur whatsapp - Accueil - Messagerie instantanée
- Comment récupérer les messages supprimés sur whatsapp - Guide
- Nombre de jours entre deux dates excel - Guide
- Messages supprimés whatsapp - Guide
- Compter le nombre de oui dans une colonne excel ✓ - Forum Excel
1 réponse
Bonjour,
Voici le code corrigé et amélioré :
Comme tu peux le voir.. je suis passé par une requête préparée (plus sûr ) pour ne prendre que les messages du user
et un fetchAll .. pour mettre le résultat dans un ARRAY plus simple à manipuler par la suite qu'un WHILE..
Voici le code corrigé et amélioré :
$user = !empty($user['pseudo'])?$user['pseudo']:NULL;
if($user){
$sql = "SELECT *
FROM mp
WHERE destinataire = :user
ORDER BY id DESC LIMIT 0, 20";
$params = array(":user"=> $user);
try{
$req = $bdd->prepare($sql);
$req->execute($params);
// On stocke le résultat de la requête dans un array
$allmsg = $req->fetchAll();
//Nombre de résultats retournés par la requête
$nbResultats = count($allmsg);
}catch(PDOException $e) {
// En cas d'erreur dans la requête
echo "<br><b>Erreur dans la requête: </b><br>".$e->getMessage();
}
if($nbResultats>0){
//On boucle sur les messages pour es afficher
foreach($allmsg as $Msg){
//ICI S'AFFICHE LE OU LES MESSAGES
}
}else{
echo "<br>Aucun message.";
}
}else{
//aucun USER
echo "<br> Aucun USER dans la variable user['pseudo'] ";
}
Comme tu peux le voir.. je suis passé par une requête préparée (plus sûr ) pour ne prendre que les messages du user
et un fetchAll .. pour mettre le résultat dans un ARRAY plus simple à manipuler par la suite qu'un WHILE..
Merci beaucoup ! :)
Sur une autre page je dois afficher toutes les offres (d'un marché).
J'ai essayé d'adapter la méthode que vous m'avez donné pour ceci mais ça n'a pas fonctionner.
Voici le code :
<?php $alloffre = $bdd->query('SELECT * FROM marche_eleveur ORDER BY prix ASC'); while($offre = $alloffre->fetch()) { if(isset($_GET['produit'])) { $produitURL = htmlspecialchars($_GET['produit']);} if($offre['produit'] == $produitURL AND $offre['quantite'] >= 1 AND $missionOffre == 1) { ?> <!--==============--> ICI TOUTES LES OFFRES <!--==============--> <?php } } ?>Les 2 if en dessous du while sont obligatoires pour mon code.
Le but étant d'afficher une fois de plus le message "aucune offre" s'il n'y a rien.
Encore merci :)