Probleme de mes codes php

Résolu/Fermé
Big79824113 Messages postés 9 Date d'inscription jeudi 24 novembre 2016 Statut Membre Dernière intervention 21 décembre 2016 - Modifié par jordane45 le 2/12/2016 à 10:40
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 2 déc. 2016 à 12:31
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:
<?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

A voir également:

1 réponse

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
2 déc. 2016 à 10:41
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.
1
Big79824113 Messages postés 9 Date d'inscription jeudi 24 novembre 2016 Statut Membre Dernière intervention 21 décembre 2016
Modifié par jordane45 le 2/12/2016 à 11:33
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 messages

EDIT : Ajout des balises de code ..... encore !!!

0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649 > Big79824113 Messages postés 9 Date d'inscription jeudi 24 novembre 2016 Statut Membre Dernière intervention 21 décembre 2016
2 déc. 2016 à 11:38
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
0
Big79824113 Messages postés 9 Date d'inscription jeudi 24 novembre 2016 Statut Membre Dernière intervention 21 décembre 2016
2 déc. 2016 à 12:21
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') );
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649 > Big79824113 Messages postés 9 Date d'inscription jeudi 24 novembre 2016 Statut Membre Dernière intervention 21 décembre 2016
2 déc. 2016 à 12:31
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
0