Signaler

Probleme de mes codes php [Résolu]

Posez votre question Big79824113 7Messages postés jeudi 24 novembre 2016Date d'inscription 2 décembre 2016 Dernière intervention - Dernière réponse le 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

Afficher la suite 
Utile
+1
moins plus
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.
Big79824113 7Messages postés jeudi 24 novembre 2016Date d'inscription 2 décembre 2016 Dernière intervention - 2 déc. 2016 à 11:31
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 !!!

Répondre
jordane45 15376Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 2 décembre 2016 Dernière intervention - 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
Répondre
Big79824113 7Messages postés jeudi 24 novembre 2016Date d'inscription 2 décembre 2016 Dernière intervention - 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') );
Répondre
jordane45 15376Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 2 décembre 2016 Dernière intervention - 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 : http://www.commentcamarche.net/faq/1391-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
Répondre
Ajouter un commentaire

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !