Sinon ça viens de ta requête SQL qui sélectionne tous les messages sans limite...
SELECT * FROM messages WHERE id_destinataire='$id' LIMIT 1
Et fait attention à tes requêtes, elles sont tout sauf protégées contre les injections SQL. $stmt = $conn->prepare(); n'est pas qu'une simple méthode a utiliser n'importe comment, il faut utiliser des paramètres puis exécuter. Lis la doc pour en savoir plus.
comment je peux afficher seulement le dernier msg pour chaque utilisateur dans une boite de réception [...] Merci mais LIMIT 1 n'affiche qu'un seul utilisateur (qui envoie le dernier message)
En fait tu ne donne tellement aucun détail qu'on ne comprends pas ce que tu souhaite faire. C'est à peine si on ose croire que tu souhaite réellement de l'aide
Je pense qu'il veut récupérer LE dernier message PAR utilisateur. e.g. le dernier message (1 message) pour chaque utilisateur.
Il faut dans ce cas utiliser un GROUP BY, pour grouper les résultats par utilisateur, cependant pour récupérer le dernier message uniquement il faut utiliser une sous requete SQL pour ordoner les résultats de facon decroisante avant de faire appel au GROUP BY (sinon le GROUP BY récupèrerait le premier message trouvé dans la table pour chaque utilisateur).
En passant j'ai fusionné tes deux requetes en utilisant une jointure entre messages et users, autant tout faire en une seule requete:
SELECT m.*, u.*
FROM (
SELECT *
FROM `messages`
ORDER BY `date` DESC
) AS m
INNER JOIN `tbl_users` AS u
ON m.`id_expediteur` = u.`userID`
GROUP BY m.`id_expediteur`
WHERE m.`id_destinataire` = ...
ORDER BY m.`date` DESC
- Edité par Sombrelune 29 mars 2017 à 15:11:03
- Activer les erreurs : PHP - PDO-MYSQLI - ¯\_ツ_/¯ - Documentations :PHP - MySQL -
je vous remercie infiniment pour votre aide @Sombrelune
messegerie interne
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
</radiax>
</radiax>