php和mysql订阅搜索/匹配的查询
题
我有一个真正的房地产的网站,有几个类别。和我想的用户能够订阅通过电子邮件以一定的名单提供,他们可提供从一个类别的...或者,提供从一个搜索清单。
我怎么可以存储他们订购的最佳方式在mysql...而且我怎么去做的通知。
好的,我来是有一个mysql刺存在mysql表与用户标识和运行一个计划,需要所有和迭代过它...运行的计划,如果有新的广告,它发一封电子邮件。
但我不认为这是最好的想法,因为它也意味着如果有变化,在数据库的设计(前,域名),那么所有这些查询将不良。
非常感谢
解决方案
一般的你想要来设计你的表格,以尽可能灵活考虑到意想不到的变化。如果这些领域的改变您的查询将需要改变无论如何。
没有具体细节,这些将是我的指导原则:
有一个用户表与指数和电子邮件
有一个订阅类型的表
有一个用户识+订阅查表
有待决的消息表
当一个新的更新本,收集所有的电子邮件和创建一个信息登录入进入一个未决的消息表。
建立你的Cron抓住20未发送消息,每隔几分钟,并删除该信息一旦发送。
我说的原因,以反复向他们发送过CRON是因为作为你的订户增长你不想拥有数以百计的电子邮件出去一次,并配合你的服务器的资源用于邮件排队。你可以不断增加的消息,因为需要和你的队列中将始终如一地将它们发送出去。
我们已经用这种方法很有效地为我们所有的大量电子邮件的应用、错误记录,并提醒通知系统。它可能不是最好的解决办法,但这证明是非常容易管理和灵活。
其他提示
如果您更改数据库设计,你一定要修复的东西,这就是这个世界是如何工作的。
如果由于某种原因,很难对你改变cron
任务,您可以创建一个存储过程,总是返回适合任务的一个结果,并改变存储过程来代替。
不隶属于 StackOverflow