Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 显示新邮件的通知_Php_Mysql_Sql_Facebook - Fatal编程技术网

Php 显示新邮件的通知

Php 显示新邮件的通知,php,mysql,sql,facebook,Php,Mysql,Sql,Facebook,我有两个表消息和线程,我在收件箱中显示来自消息表的新消息。如果对话开始了,我想像Facebook那样显示一条新消息。当你开始对话时,它会显示1个新的,2个新的。。。下面的代码没有显示。它给我未定义的索引线程id 我想要的是,如果messages表的id与thread表的thread\u message\u id匹配,则显示messages表中每行的未读消息数。如下图所示,我自己刚刚添加了1条新消息,我想显示每行未读消息的数量。 有人知道吗 $stmt = $msg->prepare( "S

我有两个表消息和线程,我在收件箱中显示来自消息表的新消息。如果对话开始了,我想像Facebook那样显示一条新消息。当你开始对话时,它会显示1个新的,2个新的。。。下面的代码没有显示。它给我未定义的索引线程id

我想要的是,如果messages表的id与thread表的thread\u message\u id匹配,则显示messages表中每行的未读消息数。如下图所示,我自己刚刚添加了1条新消息,我想显示每行未读消息的数量。 有人知道吗

$stmt = $msg->prepare(
"SELECT id, to_user, from_user, message, is_read, date, subject, orig_sender, conversation
FROM (
SELECT m.id, max(t.thread_id) thread_id,  m.to_user, m.from_user, m.message, m.is_read, m.date, m.subject, m.orig_sender, m.conversation
FROM messages m
LEFT JOIN thread t on(t.thread_message_id = m.id)
WHERE ( m.to_user = ?  
AND m.deleted != ?
AND m.del2 != ?)
OR
(m.from_user = ? 
AND m.conversation = 'true'
AND m.deleted != ?
AND m.del2 != ?) 
GROUP BY m.id
ORDER BY m.conversation asc, thread_id desc
) tbl");
 echo $msg->error;
 $stmt->bind_param('sss....', $username......);
 $stmt->execute();

 //I did new select query to get the thread_message_id 
 $thread = $msg->prepare("SELECT * FROM thread where thread_to_user = ? and thread_is_read = '0'");
 echo $msg->error;
 $thread->bind_param('s', $username->username );
 $thread->execute();
 $thread_unread = $thread->get_result();
 while ($row = $thread_unread->fetch_assoc()) {
 $thread_id = $row['thread_message_id'];
 }
while ($row = $max->fetch_assoc()) {


if($thread_id == $row['id'] && $thread->num_rows > 0){echo "<div class='m_new'>".$thread->num_rows."&nbsp;New"."</div>";}
?>

如果需要立即更新页面,则必须使用Ajax。 这样做的目的是像您所做的那样发出第一个请求,并使用Javascript/jquery将结果存储在客户端的一个变量中,设置一个Nseconde刷新间隔,然后使用ajax获取结果,将其存储在另一个新变量中并对其进行比较。 如果不一样,请更新您的邮件号码。否则就让它保持原样。
希望有帮助。

我不想立即更新,我只想在页面刷新时显示与父id相关的未读消息。