【发布时间】:2019-12-05 19:28:40
【问题描述】:
我正在创建消息对话脚本,我想从每两个用户对话中获取最后一条消息。我的脚本显示所有 from_id 消息。任何人都可以帮助我,我已经尝试了很多。
我的数据库pm表结构
id from_id to_id msg sent_date
1 2 3 hi how are you? 2019-12-05 04:14:20
2 3 2 fine 2019-12-05 05:15:58
3 2 3 hi 2019-12-05 03:20:34
4 5 2 hi 2019-12-05 08:30:40
这是我的源代码
<?php
require_once "config.php";
if (isset($_SESSION['userid'])) {
$to_id = $_SESSION['userid'];
}
if ($stmt = $con->prepare("SELECT * from pm where to_id=? or from_id=? ")) {
$stmt->bind_param('ss', $to_id, $from_id);
$stmt->execute();
}
$result = $stmt->get_result();
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
?>
<?php echo $row['msg']; ?>
<?php
}
} else {
echo "NO MESSAGES";
}
?>
【问题讨论】:
-
什么不符合您的要求?与预期结果相反,您目前得到的结果是什么?你没说。
-
你想要什么?您只想打印用户的最后一条消息。我说的对吗?
-
我的脚本显示 from_id 所有消息,但我想获取所有对话最后消息两个用户
-
你只得到“from_id”的数据,并且你想打印发送者和接收者的数据
-
@MUFAzmi - 查询中准备好的语句唯一改变的是您如何使用用户数据。例如:你写
column = ?而不是column = '$variable'。除此之外,所有 SQL 仍然相同,因此如果您知道用于解决 OP 问题的查询,它仍然非常有效。