Mysql公共用户聊天到朋友聊天
Posted
技术标签:
【中文标题】Mysql公共用户聊天到朋友聊天【英文标题】:Mysql Public User chat to friend chat 【发布时间】:2015-02-11 10:35:08 【问题描述】:我目前遵循一个公共用户聊天教程,它使用 Msg_ID、Sender、Message。发件人是名称。我目前有一个朋友表,其中: ID、my_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>
这是我试图用来定义登录用户的会话脚本。
<?php
session_start();
if(!isset($_SESSION["user"]) or !is_array($_SESSION["user"]) or empty($_SESSION["user"]));
?>
【问题讨论】:
【参考方案1】:应对查询进行以下更改:
仅检索您的消息:
$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')";
【讨论】:
谢谢,我现在可以看到你在那里做了什么:) 所以如果在输入中我的朋友 ID 是 40,作者 ID 是 41,那么只有 40 和 41 可以看到这个聊天吗?跨度> 是的,41 是发件人,应该将其视为已发送,而 40 应将其视为已收到。 我用过,任何人都可以看到消息:/【参考方案2】:<?php
session_start();
if(!isset($_SESSION["user"]) or !is_array($_SESSION["user"]) or empty($_SESSION["user"]));
?>
【讨论】:
以上是关于Mysql公共用户聊天到朋友聊天的主要内容,如果未能解决你的问题,请参考以下文章
LINQ to Entities - 选择用户的所有朋友以及他们之间的聊天
如何使用 xmpp 连接 Facebook 聊天,我想输入朋友的用户名,然后聊天显示 SASL 身份验证失败