我目前正在开发一款手机应用程序,它可以让你向朋友询问自己最喜欢的东西,它是一个HTML5前端和一个PHP后端。我被困在最好的方法是什么来构建通知系统,更多的是数据库模式而不是实际代码本身。
移动应用流程如下:
用PHP和MySQL做这件事最好的方法是什么?我并不是要求任何人给我写PHP代码,而是绘制出最理想的MySQL表和字段模式,因为这是我目前所坚持的。提前感谢您的帮助。
发布于 2012-05-11 10:01:07
您可以创建通知表,如下所示:
from_user | to_user | notification | seen
然后,当您想要通知用户时,只需添加一条包含所需信息的记录,并将seen
设置为0
/ false
。
然后,当用户读取通知时,将该参数设置为1
/ true
。
示例:
from_user | to_user | notification | seen
- - - -
用户john通知用户jeff:
from_user | to_user | notification | seen
john jeff whatever.. 0
用户jeff阅读了通知:
from_user | to_user | notification | seen
john jeff whatever.. 1
发布于 2012-05-11 10:30:32
为什么不在一个名为" notifications“的表中列出所有通知呢?
id | user_id | from_user_id | notification
通知id=通知id for?
= the message
然后作为伪代码:
// Create a notification from User A to User B
$this->db->insert ('notifications', array ('user_id' => $friends_id, 'from_user_id' => $current_user_id, 'notification' => $message));
// The meanwhile, on your home page or somewhere, wherever you want to display notifications
$this->db->where ('user_id', $current_user_id)
$notifications = $this->db->get ('user_id');
foreach ($notifications as $notification)
{
// Display the notification as needed
// Optionally delete the notification as it is displayed if it is a "one off" alert only
}
发布于 2013-07-03 04:25:13
扩展Jeffrey的答案:
id | from_user | to_user | notification | seen | timestamp
- - - - - -
时间戳将帮助您识别特定通知发生的时间。还可以通过使用timeago.js或Livestamp.js扩展脚本来创建time moment
它还将帮助您创建通知时间表,并且通知的维护将更加简单。
https://stackoverflow.com/questions/10544412
复制相似问题