我目前正在遵循公共(public)用户聊天教程,其中使用 Msg_ID、发件人、消息。发件人即名称。我目前有一个 friend 表,其中: ID、我的 ID、 friend ID。 但我不确定如何更改聊天内容,以便仅将其发送给收件人,反之亦然。我已将聊天表更改为以下内容:Msg_id、Author_id、Recipient_id、Message。 当前的聊天查询是:
<?php
function get_msg() {
$query = "SELECT `Author_ID`, `Message` FROM `pdo_ret`.`chat` ORDER BY `Msg_ID` ASC";
$run = mysql_query($query);
$messages = array();
while($message = mysql_fetch_assoc($run)) {
$messages[] = array('Author_ID'=>$message['Author_ID'],
'message'=>$message['Message']);
}
return $messages;
}
function send_msg($Author_ID, $message) {
if(!empty($Author_ID) && !empty($message)) {
$Author_ID = mysql_real_escape_string($Author_ID);
$message = mysql_real_escape_string($message);
$query = "INSERT INTO `pdo_ret`.`chat` (Msg_ID, Author_ID, Message) VALUES (null, '{$Author_ID}', '$message')";
if($run = mysql_query($query)) {
return true;
} else {
return false;
}
} else {
return false;
}
}
?>
聊天的形式是:
<form action="#" method="post" onsubmit="return InsertDefaultValues()" id="form_input">
<input hidden type="text" name="Author_ID" id="Author_ID"/>
<input hidden type="text" name="friend_id" id="friend_id"/>
<input type="text" id="message" cols="5" rows="4"></textarea>
<input type="submit" name="send" onsubmit="return InsertDefaultValues()" id="send" value="Send Message"/>
</form>
这是我的 session 脚本,我试图用它来定义登录的用户。
<?php
session_start();
if(!isset($_SESSION["user"]) or !is_array($_SESSION["user"]) or empty($_SESSION["user"]));
?>
最佳答案
应对查询进行以下更改:
仅检索您的消息:
$query = "SELECT `Author_ID`, `Message` FROM `pdo_ret`.`chat` WHERE Recipient_id = '$Recipient_id' ORDER BY `Msg_ID` ASC";
指定收件人:
$query = "INSERT INTO `pdo_ret`.`chat` (Msg_ID, Author_ID, Recipient_id, Message) VALUES (null, '{$Author_ID}', '$Recipient_id', '$message')";
关于php - Mysql 公共(public)用户聊天与好友聊天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28452090/