Probleme de mes codes php
Résolu
Big79824113
Messages postés
12
Statut
Membre
-
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour;
Je voulais juste afficher les messages envoyes par un utilisateur connecte mais je n'y parviens pas.on m'affiche tous les messages envoyes par differents utiluisateurs.Pouvez-vous m'aider?
voici mes codes:
Je voulais juste afficher les messages envoyes par un utilisateur connecte mais je n'y parviens pas.on m'affiche tous les messages envoyes par differents utiluisateurs.Pouvez-vous m'aider?
voici mes codes:
<?php
// Connect to database server
mysql_connect("localhost", "root", "") or die (mysql_error ());
// Select database
mysql_select_db("testmessagerie") or die(mysql_error());
$result = mysql_query("SELECT messagerie.email,titre,message,date FROM messages,messagerie where messagerie.id=messages.id_destinataire ORDER BY date DESC ") or die(mysql_error());
echo "<br />";
echo "<table border='1' cellpadding='4' width='85%' style='border-collapse:collapse;' >";
echo "<tr style='background-color:#aebff3;' align='left'>
<th>Destinataire</th>
<th>Objet</th>
<th>Corps message</th>
<th>Date envoi</th>
</tr>";
while($row = mysql_fetch_array( $result))
{
if (!isset($_SESSION['entreprise']))
{
echo "<tr id='rod' style='background: #C5C5C5 ; hover'>";
echo '<td>' . $row['email'] . '</td>';
echo '<td>' . $row['titre'] . '</td>';
echo '<td>' . $row['message'] . '</td>';
echo '<td>' . $row['date'] . '</td>';
//echo '<td><a href="modifier.php?id=' . $row['idadulte'] . '" rel="nofollow noopener noreferrer" target="_blank"><img src="../image/pencil.png">Modifier</a></td>';
//echo '<td><a href="supprimer.php?id=' . $row['idadulte'] . '" rel="nofollow noopener noreferrer" target="_blank" onclick="return(confirm(\'Etes-vous sur de vouloir supprimer ?\'));"><img src="../image/delete.gif">Supprimer</a></td>';
echo "</tr>";
}
else echo "aucun sms envoye";
}
// close table>
echo "</table>";
echo "<br /><br /><br /><br />";
//require_once ('pied.php');
?>
EDIT : Ajout des balises de code
1 réponse
-
Bonjour,
afficher les messages envoyes par un utilisateur connecte
Il te suffit de rajouter une condition dans le WHERE de ta requête pour choisir quel(s) utilisateur(s) afficher.
-
Merci mais ca complique toujours.Voila mes deux tables denommees messagerie et messages puis la requete faite.Ou est le probleme encore
messagerie (id ,entreprise ,adresse ,telephone ,email, motdepasse)
messages(id ,id_expediteur ,id_destinataire, date ,titre , message)$result = mysql_query("SELECT messagerie.email,titre,message,date FROM messages,messagerie where messagerie.id=messages.id_expediteur ORDER BY date DESC ") or die(mysql_error());
NB:ici l'id de messagerie correspond a l'id_expediteur de messagesEDIT : Ajout des balises de code ..... encore !!!
- Pour commencer... lorsqu'on écrit des requêtes ... on les teste DIRECTEMENT dans la BDD (sans passer par du code).
par exemple en utilisant l'interface PHPMYADMIN
La requête étant:SELECT MI.email ,M.titre ,M.message, ,M.date FROM messages M LEFT JOIN messagerie MI ON MI.id=M.id_expediteur ORDER BY date DESC
par contre...là tu ne filtres sur aucun utiliateur (messagerie) en particulier. Tu les affiches toutes.
Si tu veux filtrer sur UNE messagerie en particulier tu dois ajouter un filtre dans le WHERE
Par exemple :SELECT MI.email ,M.titre ,M.message, ,M.date FROM messages M LEFT JOIN messagerie MI ON MI.id=M.id_expediteur WHERE MI.id = 2 ORDER BY date DESC
-
Merci jordane45!avec la deuxieme requete contenant le filtre ca a passe.Mais quand je vais recuperer pour n,importe quel utilisateur connecte en faisant le GET ca ne va pas
voila comment j'ai fait
$result = mysql_query('SELECT MI.email,M.titre,M.message,M.date FROM messages M
LEFT JOIN messagerie MI ON MI.id=M.id_expediteur
WHERE MI.id ="'.$_GET['id_expediteur'].'" ORDER BY date DESC') );- 1 - Ca fait déjà deux fois que j'édite tes messages pour y mettre les balises de code.... j'aimerai que tu les mettes toi même !!!
2 - On n'utilise jamais une variable GET (ou POST ou SESSION ou COOKIE...) directement....
On la récupère PROPREMENT AVANT pour être sûr...
Regarde ici comment faire : https://forums.commentcamarche.net/forum/affich-37636387-php-notice-undefined-index
Et enfin... fais donc un ECHO de ta requête pour voir ce qu'elle contient et testes ta requête (celle affichée par le ECHO) DIRECTEMENT dans ta BDD
-