php - 使用 PHP/MYSQL 进行基于对话的消息传递?

标签 php mysql pdo

好吧,我正在尝试制作一个带有一张 table 的基于对话的消息系统。用户向用户发送消息,我们将其 ID 设为 sent_id,发送者设为 my_id。现在我的问题是,它正在显示,但我不希望它显示多次。我一直在使用 DISTINCT 但这似乎不起作用。示例表:

|--ID--|--MY_ID--|--SENT_ID--|
   1        1          2
   2        2          1
   3        1          2

如何让它只显示最新的?

(另外$my_id已经转义,不用担心哈哈)

SELECT `my_id`, `sent_id`, `time_stamp` FROM `messages` WHERE `sent_id`="'.$my_id.'" || `my_id`="'.$my_id.'"

这是我的表格:

CREATE TABLE IF NOT EXISTS `messages` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `my_id` text NOT NULL,
  `sent_id` text NOT NULL,
  `message` text NOT NULL,
  `file` text NOT NULL,
  `time_stamp` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;

最佳答案

jack ,不是 100% 确定你对最新的是什么意思。您是在谈论 ORDER BY DESC 吗?

SELECT `my_id`, `sent_id`, `time_stamp` 
FROM `messages` 
WHERE `sent_id`="'.$my_id.'" || `my_id`="'.$my_id.'"
ORDER BY id DESC
LIMIT 1

关于php - 使用 PHP/MYSQL 进行基于对话的消息传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16598553/

相关文章:

php - 回显每组的行数

php - 为什么这个 PDO 语句会默默地失败?

php - echo PDO 查询用于调试目的

php - select 语句中的选项值

php - 如何迭代 Guzzle 响应

php - 在twig中使用php函数

javascript - WooCommerce - 从单独的 PHP 文件访问 'WC_Order'

mysql - GROUP BY id 在 ORDER BY time 之后

php - PHP 中减去时间字符串

MySQL错误帮助: Unknown Column in On Clause