php - 用于消息和删除消息的 mysql 数据库逻辑

标签 php mysql

我目前坚持我的逻辑。

我已经为 snedimg 消息创建了一个数据库表

消息 看起来像这样

id | sender_id | reciver_id | msg                      | send_date |
1  | 2         |  6         | hello there i am testing | 2013-01-15 

所以我完全坚持的是删除消息逻辑。 我不明白如何解决的问题是,假设 id 6user 获取消息,并通过 id 删除它,这样发送消息的人就不会了也能看到。

所以我对此有点迷茫,如果有人能给我一个逻辑上的提示我会很高兴

使用更多解释的细节进行编辑

所以问题是

id | sender_id | reciver_id | msg                      | send_date |
1  | 2         |  6         | hello there i am testing | 2013-01-15 

这是表格。用户收到消息,阅读它,并出于某种原因想要将其删除。

问题是DELETE LOGIC,我知道如何删除行,但我不知道如何解决如果接收方删除邮件,发件人将能够看到它联合国他/她将其删除。

例如在 facebook 上他们使用存档而不是删除,这是我不明白的逻辑

最佳答案

只需在删除时将接收方或发送方 ID 设置为 -1,然后检查两者是否为 -1(或将是 -1),然后删除该行。

例如

on deletion by reciver:
if ($sender_id == -1) {
  $query = "DELETE FROM messages WHERE id=$id";
} else {
  $query = mysql_query("UPDATE messages SET reciver_id=-1 WHERE id=$id";
}
mysql_query($query)

这样它仍然可用,直到双方都删除它

编辑:
正如对该解决方案的额外想法:
您可以将两者都设置为 -1 而不是在第二次删除用户时将其删除,这样您就可以获得一种存档并通过 cronjob 删除太旧的存档。

关于php - 用于消息和删除消息的 mysql 数据库逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14663392/

相关文章:

php - Codeigniter登录系统问题日志记录

PHP » 单例 MySQL 连接

MySQL Workbench 上的 MySQL 查询超时

mysql - SQL Select语句构造

mysql - 选择 subselect 返回多个值的行

php - json在php中解码

php - 我的表单请求有什么问题导致简单的验证规则不起作用?

Mysql 在两个表中找到公共(public)字段的匹配行并将字段合并为一行

php - 自动刷新页面

php - 无法根据喜欢的youtube api获取我的youtube channel 的前10个视频