php 消息提醒,PHP消息提醒数据表

请问如何设计站内消息提示功能,比如segmentfault这样的功能,我发布一个问题,有人回答以后,我会收到一个未读消息数目提醒,数据表怎么设计比较合适?

回复内容:

请问如何设计站内消息提示功能,比如segmentfault这样的功能,我发布一个问题,有人回答以后,我会收到一个未读消息数目提醒,数据表怎么设计比较合适?

bVr5ab

bVr5ac

notice_code是在代码中定义的,同时也定义的通知信息的模板

public static $notice_type = [

'answer' => [

'is_agreed' => [500, '[who] 赞了你的回答!'],

'is_modified' => [501, '[who] 修改了你的回答!'],

'is_fold' => [502, '[who] 折叠了你的回答!'],

'has_new_comment' => [503, '[who] 评论了你的回答!'],

],

];

比如图中的503是代表评论通知,某人评论了某个回答,需要的参数就是:谁

通知列表中,先判断通知代码是什么,找到对应的模板,根据相应参数,转换里面的变量[who]

刚才考虑一下,有一个初步的方案,请大家喷:

主要有2个表:

question:问题信息的表

id(autoincrement) user_id(发表问题的用户ID) question_id(问题ID(系统内唯一)) question_desc(问题表述) like_user_list(赞的用户列表,user_id使用‘,’进行分割)

reply:

id(autoincrement) user_id(对问题进行回答的用户ID) question_id(与question中的question_id为外键)reply_content(评论内容) like_user_list(赞的用户列表,user_id使用‘,’进行分割) unlike_user_list(反对的用户的ID list)

具体操作如下:

1、用户发布一个问题的时候,向question中插入一条记录;

2、别人对用户的这个问题进行评论的时候,向reply中插入一条记录

3、别人认为这个问题很好,对这个问题或者回复进行点赞,追加对应的like_user_list

需要进一步完善的地方:

(1)、对评论者的回复的记录

数据库表怎么设计我就不多说了 我想说的是提醒类的并不适合存表 一般考虑走缓存 不可能我每刷新一次都去表里count一遍 这种数据直接走缓存更高效

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 使用 PHP 和 AJAX 实现实时刷新数据库并弹窗提醒,可以这么做: 1. 使用 PHP 查询数据库,判断是否满足条件,并返回结果。 2. 使用 AJAX 定时发送请求到 PHP 页面,询问数据库是否有新的数据。 3. 当 PHP 页面返回结果时,在 AJAX 回调函数中判断返回的结果,如果满足条件则使用 JavaScript 弹出提醒窗口。 以下是一个简单的例子: ```html <html> <head> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> function checkData() { $.ajax({ url: 'check.php', success: function(data) { if (data == '1') { alert('数据库中有新的数据!'); } } }); } $(document).ready(function() { setInterval(checkData, 1000); }); </script> </head> <body> <p>正在检查数据库...</p> </body> </html> ``` ```php <?php $db = new PDO('mysql:host=localhost;dbname=test', 'username', 'password'); $stmt = $db->query('SELECT * FROM table WHERE condition = 1'); if ($stmt->rowCount() > 0) { echo '1'; } else { echo '0'; } ``` 在这个例子中,每 1 秒钟会发送一次 AJAX 请求到 `check.php` 页面,询问数据库是否有新的数据。如果有,则弹出提醒窗口。 注意:这只是一个简单的例子,在实际应用中应该注意安全性和错误处 ### 回答2: 使用PHP AJAX技术实现实时刷新数据库并在条件满足时弹窗提醒,可以按照以下步骤进行操作: 1. 首先,创建一个数据库连接对象,通过该对象连接到数据库。 2. 在PHP脚本中编写一个查询数据库的语句,获取需要实时检查的数据。 3. 使用AJAX技术,在前端页面使用JavaScript定时调用后端PHP脚本进行数据查询。 4. 在后端PHP脚本中,执行数据库查询语句并将结果返回给前端页面。 5. 在前端页面的JavaScript代码中,通过AJAX异步请求获取后端返回的数据。 6. 分析返回的数据,判断是否满足条件。 7. 如果条件满足,通过JavaScript代码实现一个弹窗提醒用户。 8. 设置定时器,定时调用后端PHP脚本进行数据查询并处理返回结果。 以上就是使用PHP AJAX技术实现实时刷新数据库并在条件满足时弹窗提醒的基本步骤。具体实现可以根据项目的需求进行调整。 ### 回答3: 使用PHP Ajax技术可以实现实时刷新数据库,并在条件满足时弹窗提醒。在实现上,我们可以按照以下步骤进行: 1. 在前端页面中,使用Ajax技术通过JavaScript向后端发送请求,实现实时刷新数据库的功能。例如,可以使用`setInterval`函数定时发送Ajax请求,让页面每隔一段时间都向后端发送请求来更新数据库。 2. 在后端使用PHP编写处理Ajax请求的代码。该代码接收前端发送的请求,处理数据库查询,并返回查询结果给前端。可以使用PHP的数据库操作技术(如mysqli或PDO)连接到数据库,并执行查询操作。 3. 在PHP代码中,根据条件判断数据库中的数据是否满足提醒条件。如果满足条件,可以返回相应的提醒信息给前端。 4. 在前端页面中,通过JavaScript处理后端返回的结果,如果有提醒信息,则弹窗显示提醒。 总结来说,使用PHP Ajax技术实现实时刷新数据库的步骤包括设置前端定时发送请求,后端接收请求并处理数据库查询,对查询结果进行条件判断,返回结果给前端,前端对结果进行处理并弹窗提醒。通过这种方式,即可实现实时刷新数据库并在满足条件时弹窗提醒的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值