php - 获取聊天数据并按接收者和发送者 ID 排序

标签 php mysql sql multidimensional-array

我有一个问题。

我有一个这样的数据库:

messages_id | int | Auto-increment
from | int
to | int
message | text

现在我在按发件人 ID 对它们进行分组时遇到问题。我只想检索登录用户发送或接收的消息。这并不太难。

SELECT * FROM messages WHERE from = 1 OR to = 1 ORDER BY messages_id ASC

但现在,他们没有分组。因为不同的人可以向该用户发送消息。我真的不知道从哪里开始。

我想要这样的东西:

array(
    [5] => array(
        [0] => "message One",
        [1] => "Message two"
    ),
    [32] => array(
        [0] => "message One",
        [1] => "Message two"
    )
);

5 和 32 是正在聊天的人的 ID。

希望大家能帮忙:)

最佳答案

感谢大家的回复。真的很感激,但我自己已经弄清楚了;)

现在我得到以下信息:

$currentUserID = get_current_user_id();
$rows = $wpdb->get_results("SELECT * FROM `messages` WHERE `from` = '" . $currentUserID . "' OR `to` = '" . currentUserID . "' ORDER BY `messages_id` ASC");

$messages = [];

foreach($rows as $row) {
    if($row->from == $currentUserID) {
        $messages[$row->to][] .= $row->message;
    }
    else {
        $messages[$row->from][] .= $row->message;
    }
}
print_r($messages);

关于php - 获取聊天数据并按接收者和发送者 ID 排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39891062/

相关文章:

sql - 根据行的最大值选择列名称

java - 用户 'root' @'localhost' 的访问被拒绝(使用密码 : YES) IN WAMPSERVER

php - 检查作为参数传递的变量是否已设置

php - PDO-SQLSTATE[HY093] : Invalid parameter number with UNION query

mysql - MySQL MATCH AGAINST 的问题

mysql - 无法 Access 表远程 MySQL 数据库

php - 连接不同数据库上的表,同时绑定(bind)值

mysql - 在 SQL 中的一个字段中添加多个数据

php - Yii CDbCriteria 从另一个相关对象的相关对象中选择一个字段

php - 使用 PHP 将 FDF 数据合并到 PDF 文件中