PHP PDO通知系统

时间:2015-01-26 19:36:55

标签: php mysql pdo

我目前正在为我的管理员面板制作通知系统。现在我有2个问题:

数据库表:

CREATE TABLE IF NOT EXISTS `notications` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `uid` int(11) NOT NULL,
  `type` varchar(265) COLLATE utf8_unicode_ci NOT NULL,
  `link` varchar(265) COLLATE utf8_unicode_ci NOT NULL,
  `text` varchar(265) COLLATE utf8_unicode_ci NOT NULL,
  `seen` int(1) NOT NULL DEFAULT '0',
  `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
);
  1. 设置通知的最佳方式是什么(目前无法提供任何代码,请告诉我最简单的方法。)

  2. 我将向管理员面板上的所有员工发送相同的通知。那么我应该在每个用户ID的数据库中创建多条记录,还是有更好的方法呢?

2 个答案:

答案 0 :(得分:0)

  1. 你有专栏"见过"在你的桌子上。默认值为0(未显示),将其设置为1,这意味着可以看到通知。

  2. 在表格通知中输入多个条目。条目具有不同的uid(用户ID),这样您就可以获得所需用户的通知。

答案 1 :(得分:0)

由于您要求“更好的方式”,答案可能会有所不同。这是我的看法:

  1. 拥有列出通知的主表格
  2. 有一张专门用于通知发布的表格
  3. enter image description here

    这被称为一对多的关系。

    优点?

    1. 您可以编辑通知信息,而不会弄乱包含重复通知的表格。
    2. 遵循DRY原则
    3. 如何看待
      IMO有两种可能的方式:

      1. 让通知将用户重定向到首先将其设置为“看到”的页面,然后让该页面将其重定向到实际的通知链接

      2. 当用户点击通知时,在javascript中使用preventDefault()停止导航,将ajax get请求发送到将其设置为“已见”的php页面,然后使用location.href将用户重定向到目的地

相关问题