Afficher utilisateur en contact avec

Fermé
baptiste - 18 sept. 2022 à 23:29
 baptiste - 20 sept. 2022 à 18:22

Bonjour,

voici la base donne pour enregistrer les messages les pseudo de celui qui le redige etc

j'ai un systeme de message qui fonctionne bien et apres pour acceder au message j'aimerai faire une page  qui affiche les utilisateurs que vous avez contactez ou les gens qui vous ont envoyer un message donc ca affiche leur pseudo

est ce que quelqu'un pourrait me dire comment faire cela


Windows / Chrome 105.0.0.0

A voir également:

8 réponses

jordane45 Messages postés 38390 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 janvier 2025 4 730
19 sept. 2022 à 06:28

Bonjour

Ta question concerne le code PHP ou la requête SQL ?

Si c'est la requête SQL, je déplacerai la question dans le bon forum.... Mais sache qu'une simple requête avec un where et deux conditions sur le receveur ou le poster suffira à résoudre ton problème.


0

ca concerne le code php 

0
jordane45 Messages postés 38390 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 janvier 2025 4 730
19 sept. 2022 à 16:57

Donc tu as déjà une requête SQL ?

Quel code php as tu commencé à écrire ?

0

en faite j'ai deja essayer de faire en faisant une boucle pour afficher les pseudo des gens a qui ont a envoyer un message et apres une 2ieme boucle pour afficher les pseudo des gens qui nous ont envoyer un message le probleme c'est que si on envoie un message a une personne ca affiche sont pseudo c'est ce que je veux mais si la personne m'envoie un message et bien la 2 ieme boucle s'effectue et ducoup ca m'affiche son pseudo mais le probleme c'est que sur la page ca m'affiche 2 fois son pseudo

ce n'est pas clair du tout excuser moi

0
yg_be Messages postés 23432 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 janvier 2025 1 559
19 sept. 2022 à 20:11

bonjour, pour clarifier, tu pourrais partager le texte de ton code, en utilisant ceci: https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code.

Ensuite, tu pourrais donner un exemple de ce qui s'affiche, ainsi de ce que tu souhaites obtenir.

0
jordane45 Messages postés 38390 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 janvier 2025 4 730
19 sept. 2022 à 20:37

C'est bien ce que je disais, avant de traiter côté PHP il faut déjà traiter côté base de données.

Il faut donc une requête avec deux conditions dans le where sur lady de l'émetteur et lady du receveur...

Pour l'instant sans avoir aucune ligne de code de ta part, impossible pour nous de t'aider à le corriger

0

bonsoir

alors j'ai fait une video de 20 secondes 

https://www.youtube.com/watch?v=n9h6YXz1xjc&feature=youtu.be

mon code :

//recuperer les personnes a qui on a envoyer le message
$getUserSend = $bdd->prepare('SELECT DISTINCT * FROM messages WHERE id_auteur = ? ');
$getUserSend->execute(array($_SESSION['id']));
//recuperer les personnes qui nous ont envoyer un message
$getUserReceive = $bdd->prepare('SELECT DISTINCT * FROM messages WHERE id_destinataire = ? ');
$getUserReceive->execute(array($_SESSION['id']));


<div class = "container"><?php
if ($getUserSend->rowCount() > 0 ) {?>
    <p style="text-align:center ;">message -> </p><?php
    while ($displayMessageDestinataire = $getUserSend->fetch()) {
        ?>
         
          <div class = 'card'>
            <br>
        
      
        
          <a style="padding-left: 10px ;" href="message.php?id=<?=$displayMessageDestinataire['id_destinataire']?>"><?=$displayMessageDestinataire['pseudo_destinataire'];?></a><br>
         <?php
         
     }
     ?>
</div>
</div>

<div class = "container">
    <?php
  
    } if($getUserReceive->rowCount() > 0 ) {
    while ($displayMessageAuteur = $getUserReceive->fetch()) {
        ?>
            <div class = 'card'>
            <br>

         <a style="padding-left: 10px;" href="message.php?id=<?=$displayMessageAuteur['id_auteur']?>"><?=$displayMessageAuteur['pseudo_auteur'];?></a><br><?php
         }
        }
        
  
         ?>
         </div>
         </div>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jordane45 Messages postés 38390 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 janvier 2025 4 730
20 sept. 2022 à 06:39

C'est bien ce que je pensais . Et donc, il ne faut faire qu'une seule requête et non pas deux

SELECT DISTINCT *
 FROM messages
 WHERE id_auteur = ?
OR id_destinaire = ?

Testes déjà ça et regarde ce que ça contient.


0
jordane45 Messages postés 38390 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 janvier 2025 4 730
20 sept. 2022 à 06:55

Au passage, as tu une autre table qui liste tes utilisateurs ?

Je suppose que oui, vu que tu conserves les id dans ta table de message.

Peux-tu nous montrer sa structure ?

Car dans l'idéal, il faudrait faire une jointure à la requête que je viens de te donner et ne plus stocker les pseudos dans cette table message mais utiliser les informations issues de la jointure.

0

Oui je sais mais je préférais faire plus simple même si c’est pas très propre ahah je vais essayez tous ça ducoup

0
jordane45 Messages postés 38390 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 janvier 2025 4 730
20 sept. 2022 à 13:55

plus simple ?  je ne vois pas ce qui est plus simple que de récupérer uniquement les données souhaitées via SQL ...

Sinon, après, faire le traitement en php .. ça devient vite une usine à gaz .. et bon.. la "bidouille" ce n'est pas trop mon truc... vaut mieux faire les choses bien dès le départ

0

pour la requete que vous m'avez dit d'essayer elle ne marche pas ducoup car il va aficher le pseudo du destinataire ce qui est bien mais il va aussi afficher le pseudo de l'auteur donc l'utilisateur qui envoie le message

0
jordane45 Messages postés 38390 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 janvier 2025 4 730
20 sept. 2022 à 16:13

D'où ma question concernant la table des utilisateurs sur laquelle il va falloir faire des jointures et, dans la partie Select de ta requête ajouter un if..

Mais comme je ne connais toujours pas la structure de tes tables, et que je ne vois pas ce que tu as essayé je ne peux pas t'en dire plus...

0

comme ca ? et je n'ai pas compris coment avoir une solution a mon probleme.

0