Problème affichage info bulle messages
Fermé
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
-
1 juil. 2015 à 15:46
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 - 16 juil. 2015 à 02:05
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 - 16 juil. 2015 à 02:05
A voir également:
- Problème affichage info bulle messages
- Comment récupérer les messages supprimés sur whatsapp - Guide
- Info pc - Guide
- Comment savoir si quelqu'un lit mes messages sur whatsapp - Accueil - Messagerie instantanée
- Crystaldisk info - Télécharger - Informations & Diagnostic
- Video bulle whatsapp - Accueil - Messagerie instantanée
26 réponses
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 707
14 juil. 2015 à 19:53
14 juil. 2015 à 19:53
Et à quelle moment mets tu à jour la date_vue de tes messages ??
Tu n'as pas une fonction update_date_vue ??
Tu n'as pas une fonction update_date_vue ??
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 707
14 juil. 2015 à 20:04
14 juil. 2015 à 20:04
Il semble que je ne recois pas les messages :'( j'ai effectué un test et le recepteur ne recoit rien :/ j
Et quel est le code qui te permet de "recevoir" les messages ??
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
10
14 juil. 2015 à 20:07
14 juil. 2015 à 20:07
<?php //la function qui va recuperer les conversations function recup_conversation() { global $bdd; // déclaration globale de BDD $pseudo_dest = isset($_SESSION['pseudo'])?$_SESSION['pseudo'] : NULL; $sql = "SELECT conversations.id, conversations.sujet, utilisateurs.pseudo, utilisateurs.avatar, conversations_messages.date_message FROM conversations LEFT JOIN conversations_messages ON conversations.id = conversations_messages.id INNER JOIN conversations_membres ON conversations.id = conversations_membres.id INNER JOIN utilisateurs ON utilisateurs.pseudo = conversations_messages.pseudo_exp WHERE pseudo_dest = :pseudo_dest GROUP BY conversations.id ORDER BY conversations_messages.date_message DESC"; $params = array(':pseudo_dest' =>$pseudo_dest); try{ $req = $bdd->prepare($sql); $req->execute($params); $resultat = $req->fetchall(); }catch(Exception $e) { echo "<br>".$e->getMessage()."<br>"; echo "<br>params : <br>"; print_r($params); } return $resultat; } ?>
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 707
14 juil. 2015 à 20:13
14 juil. 2015 à 20:13
Que donne la requête en dorect dans phpmyadmin ?
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
10
14 juil. 2015 à 20:25
14 juil. 2015 à 20:25
MySQL a retourné un résultat vide (aucune ligne). (Traitement en 0.0010 sec)
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 707
>
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
14 juil. 2015 à 20:33
14 juil. 2015 à 20:33
donc... c'est ta requête qui est fausse non ??
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 707
14 juil. 2015 à 20:35
14 juil. 2015 à 20:35
Je croyais t'avoir donné la bonne requête tout à l'heure...
SELECT C.id ,C.sujet ,U.pseudo ,U.avatar ,CM.* FROM conversations_messages CM LEFT JOIN conversations C ON C.id=CM.id_conversation LEFT JOIN conversations_membres M ON C.id = M.id_conversation LEFT JOIN utilisateurs U ON U.pseudo = CM.pseudo_exp WHERE M.pseudo_dest = 'jean' ORDER BY CM.date_message DESC;
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 707
14 juil. 2015 à 21:04
14 juil. 2015 à 21:04
Je viens donc de tester la requête avec tes nouvelles données... et ça marche !
Que donne ceci directement dans phpMyadmin ??
Que donne ceci directement dans phpMyadmin ??
SELECT C.id ,C.sujet ,U.pseudo ,U.avatar ,CM.* ,M.* FROM conversations_messages CM LEFT JOIN conversations C ON C.id=CM.id_conversation LEFT JOIN conversations_membres M ON C.id = M.id_conversation LEFT JOIN utilisateurs U ON U.pseudo = CM.pseudo_exp WHERE M.pseudo_dest = 'xzak47' ORDER BY CM.date_message DESC;
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
10
Modifié par Zakarya93 le 14/07/2015 à 21:17
Modifié par Zakarya93 le 14/07/2015 à 21:17
ça marche pour la requete :D
mais les messages je ne les recois tjr pas meme après un nouveau test :/
mais les messages je ne les recois tjr pas meme après un nouveau test :/
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
10
14 juil. 2015 à 21:23
14 juil. 2015 à 21:23
<?php //récupération des messages function recup_message() { global $bdd; $sql= "SELECT C.id ,C.sujet ,U.pseudo ,U.avatar ,CM.* ,M.* FROM conversations_messages CM LEFT JOIN conversations C ON C.id=CM.id_conversation LEFT JOIN conversations_membres M ON C.id = M.id_conversation LEFT JOIN utilisateurs U ON U.pseudo = CM.pseudo_exp WHERE M.pseudo_dest = :pseudo_dest ORDER BY CM.date_message DESC"; try{ $reponse= $bdd->prepare($sql); $params=array(':id' =>$_GET['id'], ':pseudo_dest' => $_SESSION['pseudo']); $reponse->execute($params); $messages=$reponse->fetchall(); } catch(Exception $e){ die('Erreur : '.$e->getMessage()); $messages=NULL; } return $messages; } ?>
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 707
14 juil. 2015 à 21:29
14 juil. 2015 à 21:29
Tu n'aurais pas un message d'erreur par hasard ???
C'est quoi ce :id dans ta variable $params ????
C'est quoi ce :id dans ta variable $params ????
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
10
Modifié par Zakarya93 le 14/07/2015 à 21:39
Modifié par Zakarya93 le 14/07/2015 à 21:39
c'est normal qu'il n'affiche pas les messages antérieurs mais que ceux que j'envoie apres la modification ?
j'ai tout effacé dans ma bdd et j'ai refais un test mais je ne recois rien, code :
ou placer mon "date_creation" (quel code ?) qui a son compteur a zéro ? (il est dans la table conversations)
j'ai tout effacé dans ma bdd et j'ai refais un test mais je ne recois rien, code :
<?php //récupération des messages function recup_message() { global $bdd; $sql= "SELECT C.id ,C.sujet ,U.pseudo ,U.avatar ,CM.* ,M.* FROM conversations_messages CM LEFT JOIN conversations C ON C.id=CM.id_conversation LEFT JOIN conversations_membres M ON C.id = M.id_conversation LEFT JOIN utilisateurs U ON U.pseudo = CM.pseudo_exp WHERE M.pseudo_dest = :pseudo_dest ORDER BY CM.date_message DESC"; try{ $reponse= $bdd->prepare($sql); $params=array(':pseudo_dest' => $_SESSION['pseudo']); $reponse->execute($params); $messages=$reponse->fetchall(); } catch(Exception $e){ die('Erreur : '.$e->getMessage()); $messages=NULL; } return $messages; } ?>
ou placer mon "date_creation" (quel code ?) qui a son compteur a zéro ? (il est dans la table conversations)
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 707
14 juil. 2015 à 21:39
14 juil. 2015 à 21:39
Il faut déjà faire en sorte que ton date création soit mis à jour ...
pour ca modifies ton code de création. ..
pour ca modifies ton code de création. ..
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 707
15 juil. 2015 à 00:27
15 juil. 2015 à 00:27
function add_conversation($sujet=NULL){ global $bdd; $now = date('Y-m-d H:i:s') ; $sql = "INSERT INTO conversations (sujet,date_creation) VALUES(:sujet,:date_creation)"; $params = array(":sujet"=>$sujet, ":date_creation"=>$now); //On prepare l'insertion try{ $prepare = $bdd->prepare($sql); $prepare->execute($params); //récupère l'ID créé par l'insertion en BDD $id = $bdd->lastInsertId(); }catch(Exception $e) { echo "<br>ERREUR ! ".$e->getMessage()."<br>"; echo "<br>params : <br>"; print_r($params); } return $id; }
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
10
15 juil. 2015 à 00:43
15 juil. 2015 à 00:43
c'est à rajouter dans le new_message.func.php c'st ça ? car j'ai déjà add_conversation_messages et add_conversation_membres dedans
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 707
>
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
15 juil. 2015 à 00:45
15 juil. 2015 à 00:45
Heuuu... c'est pas à AJOUTER ... c'est à REMPLACER !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
10
15 juil. 2015 à 00:54
15 juil. 2015 à 00:54
Le date_creation marche bien maintenant, mais je ne recois toujours pas les messages :/
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 707
15 juil. 2015 à 00:59
15 juil. 2015 à 00:59
Tu peux me montrer ton code pour AFFICHER les messages ?
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
10
>
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
15 juil. 2015 à 01:09
15 juil. 2015 à 01:09
message.func.php :
Conversation.func.php
<?php //récupération des messages function recup_message() { global $bdd; $sql= "SELECT C.id ,C.sujet ,U.pseudo ,U.avatar ,CM.* ,M.* FROM conversations_messages CM LEFT JOIN conversations C ON C.id=CM.id_conversation LEFT JOIN conversations_membres M ON C.id = M.id_conversation LEFT JOIN utilisateurs U ON U.pseudo = CM.pseudo_exp WHERE M.pseudo_dest = :pseudo_dest ORDER BY CM.date_message DESC"; try{ $reponse= $bdd->prepare($sql); $params=array(':pseudo_dest' => $_SESSION['pseudo']); $reponse->execute($params); $messages=$reponse->fetchall(); } catch(Exception $e){ die('Erreur : '.$e->getMessage()); $messages=NULL; } return $messages; } ?>
Conversation.func.php
<?php //la function qui va recuperer les conversations function recup_conversation() { global $bdd; // déclaration globale de BDD $pseudo_dest = isset($_SESSION['pseudo'])?$_SESSION['pseudo'] : NULL; $sql = "SELECT conversations.id, conversations.sujet, utilisateurs.pseudo, utilisateurs.avatar, conversations_messages.date_message FROM conversations LEFT JOIN conversations_messages ON conversations.id = conversations_messages.id INNER JOIN conversations_membres ON conversations.id = conversations_membres.id INNER JOIN utilisateurs ON utilisateurs.pseudo = conversations_messages.pseudo_exp WHERE pseudo_dest = :pseudo_dest GROUP BY conversations.id ORDER BY conversations_messages.date_message DESC"; $params = array(':pseudo_dest' =>$pseudo_dest); try{ $req = $bdd->prepare($sql); $req->execute($params); $resultat = $req->fetchall(); }catch(Exception $e) { echo "<br>".$e->getMessage()."<br>"; echo "<br>params : <br>"; print_r($params); } return $resultat; } ?>
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 707
>
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
15 juil. 2015 à 01:10
15 juil. 2015 à 01:10
Et le code de la page qui est sensée afficher les messages ?
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
10
>
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
15 juil. 2015 à 01:17
15 juil. 2015 à 01:17
<?php include('functions/membre.func.php'); include('body/header.php'); include('body/menu.php'); ?> <h3>Les conversations</h3> <?php $conversations = recup_conversation(); if($conversations == true) { foreach($conversations as $conversation) { ?> <div class='conversation'> <a href="index.php?page=profile&pseudo=<?php echo $conversation['pseudo']; ?>"><?php echo $conversation['pseudo']; ?></a><br /> <IMG src='avatar/<?php echo $conversation['avatar']; ?>' height='70' width='70'></IMG> <p><a href="index.php?page=message&id=<?php echo $conversation['id'] ?>"> <?php echo $conversation['sujet']; ?></a></p> <p>Posté le : <?php echo $conversation['date_message']; ?></p> <p><a href="index.php?page=conversations&id=<?php echo $conversation['id']; ?>">Supprimer le message</a></p> </div> <?php } }else{ ?> <div class'error'>Vous n'avez pas de message</div> <?php } ?>
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 707
>
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
15 juil. 2015 à 01:21
15 juil. 2015 à 01:21
Donc visiblement... dans cette page.. tu ne fais que récupérer les Conversations... pas les messages ....
Commence donc par faire un peu de debug pour voir ce que te remontes tes variables ...
par exemple :
Et puis.. ta fonction recup_conversation() ... elle ne retourne pas TRUE ou FALSE .. elle retourne un ARRAY contenant la liste des conversations !
Donc ton IF est à modifier comme ceci :
Commence donc par faire un peu de debug pour voir ce que te remontes tes variables ...
par exemple :
$conversations = recup_conversation(); print_r($conversations);
Et puis.. ta fonction recup_conversation() ... elle ne retourne pas TRUE ou FALSE .. elle retourne un ARRAY contenant la liste des conversations !
Donc ton IF est à modifier comme ceci :
if(count($conversations)>0) { foreach($conversations as $conversation) { ?> <div class='conversation'> <a href="index.php?page=profile&pseudo=<?php echo $conversation['pseudo']; ?>"><?php echo $conversation['pseudo']; ?></a><br /> <IMG src='avatar/<?php echo $conversation['avatar']; ?>' height='70' width='70'></IMG> <p><a href="index.php?page=message&id=<?php echo $conversation['id'] ?>"> <?php echo $conversation['sujet']; ?></a></p> <p>Posté le : <?php echo $conversation['date_message']; ?></p> <p><a href="index.php?page=conversations&id=<?php echo $conversation['id']; ?>">Supprimer le message</a></p> </div> <?php } } else { echo " <div class'error'>Vous n'avez pas de message</div>"; } ?>
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
10
15 juil. 2015 à 01:53
15 juil. 2015 à 01:53
Revenons à l'info bulle des messages, nous parlions de quoi au juste ? :)
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 707
15 juil. 2015 à 02:01
15 juil. 2015 à 02:01
Avant de passer à l'infobulle... confirme moi que tu as bien tes messages !
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
10
>
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
15 juil. 2015 à 02:06
15 juil. 2015 à 02:06
oui je l'ai dis au dessus ^^
j'ai donc : Array ( [0] => Array ( [id] => 20 [0] => 20 [sujet] => rep [1] => rep [pseudo] => jean [2] => jean [avatar] => logo.jpg [3] => logo.jpg [date_message] => 2015-07-15 01:43:56 [4] => 2015-07-15 01:43:56 ) )
et mon message qui s'affiche :)
j'ai donc : Array ( [0] => Array ( [id] => 20 [0] => 20 [sujet] => rep [1] => rep [pseudo] => jean [2] => jean [avatar] => logo.jpg [3] => logo.jpg [date_message] => 2015-07-15 01:43:56 [4] => 2015-07-15 01:43:56 ) )
et mon message qui s'affiche :)
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 707
15 juil. 2015 à 02:17
15 juil. 2015 à 02:17
ok
Donc maintenant...
remontre nous le code de la page dans laquelle doit s'afficher ton infobulle
+ le code de la fonction qui va avec.
Donc maintenant...
remontre nous le code de la page dans laquelle doit s'afficher ton infobulle
+ le code de la fonction qui va avec.
Zakarya93
Messages postés
984
Date d'inscription
lundi 27 avril 2015
Statut
Membre
Dernière intervention
18 décembre 2020
10
>
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
15 juil. 2015 à 02:26
15 juil. 2015 à 02:26
ibi.func.php :
Menu.php :
/** *la function qui va nous permettre d'afficher l'info-bulle des messages */ function afficher_ibi_messages(){ global $bdd; $result=0; //Variables $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL; if($pseudo_session){ $sql = "SELECT COUNT(id_conversation) as NB FROM conversations_messages WHERE (date_vue = '0000-00-00 00:00:00' OR date_confirmation < date_vue ) AND pseudo_dest= :pseudo_session "; // je place les params dans une variable avant de l'utiliser : $params = array(':pseudo_session' => $pseudo_session); try{ $query = $bdd->prepare($sql); $query ->execute($params); $req= $query->fetchall(); $result= count($req)>0 ? $req[0]['NB']:0; }catch(Exception $e) { echo "<br>ERREUR ! ".$e->getMessage()."<br>"; echo "<br>params : <br>"; print_r($params); } } // Fin du if($pseudo_session) // le return return $result; }
Menu.php :
<?php // Fichier menu.php $nombre_membre = nombre_membre(); $nb_membre = ($nombre_membre > 1) ? $nombre_membre ." membres" : $nombre_membre ." membre"; ?> <div class='menu'> <ul> <li><a href="index.php?page=membre">Accueil</a></li> <li><a href="index.php?page=update">Changer vos informations</a></li> <li><a href="index.php?page=liste_membre">les membres</a></li> <li><a href="index.php?page=amis">Vos amis</a></li> <li> <a href="index.php?page=invitations">Invitations</a> <?php if(!function_exists('afficher_ibi_invitations')){ echo "<br> Erreur : La fonction afficher_ibi_invitations() n'existe pas !"; }else{ $ibi = afficher_ibi_invitations(); if($ibi !== '0') { //echo "<div class='ibi_invitations'> echo "<p class='ibi_invitations'>".$ibi."</p>"; // </div>"; } }?> </li> <li> <a href="index.php?page=conversations">Messages</a> <?php if(!function_exists('afficher_ibi_messages')){ echo "<br> Erreur : La fonction afficher_ibi_messages() n'existe pas !"; }else{ $ibi = afficher_ibi_messages(); if($ibi != '0') { //echo "<div class='ibi_messages'>".$ibi."</div>"; echo $ibi; } } ?> </li> <li class="nbr"><?php echo $nb_membre;?></li> </ul> </div>
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 707
15 juil. 2015 à 02:39
15 juil. 2015 à 02:39
As tu testé la requête en direct dans ta BDD ?
Qu'est ce que ça donne ??
Qu'est ce que ça donne ??
14 juil. 2015 à 19:54
correction du css :
14 juil. 2015 à 19:57
Quand tu dis : "il ne s'affiche pas" ... de quoi parles tu ?
Quelle est le bout de code qui est censé afficher ce machin ? ( et uniquement les quelques lignes de codes qui gèrent cet affichage... pas le code complet de ta page !!! )
Modifié par Zakarya93 le 14/07/2015 à 20:08
sinon je cherche à afficher l'info bulle des messages; voici sa fonction :
la requete me donne : MySQL a retourné un résultat vide (aucune ligne). (Traitement en 0.0010 sec)