规划新闻订购系统

时间:2012-05-09 11:18:26

标签: php mysql

考虑到名为sn_news的表格中有成千上万的新闻,其中某些新闻可能同时适用于X个客户,但id不同,我是想知道如何实施新闻订购功能!

在其面板中显示客户Y的X新闻,如下所示:

ID          Category            Title
_______     __________________  ____________________________________________
1572709     Futbol Earthquakes  Lluvia de goles en San José
1568657     Eventos Locales     Maná rayó el sol de la Bahía
1562970     Deportes Locales    SJ Earthquakes vence a RSL, es líder
1546516     Locales             La magia de la música en la niñez
1546513     Locales             80 Años de Fotografía mexicana en SFMOMA
1546511     Locales             Clases gratis de diseño solar en West Valley College
1546507     Locales             Javier Sicilia visitó   12 de abril de 2012     Locales (noticias cliente)
1546504     Locales             Celebrando el español a través de la poesía
1546502     Locales             The National Hispanic University Receives Commendation from San Jose City Council
1546498     Locales             Clases de costura en el CET
1546497     Locales             Centro del Este de San José al servicio de la comunidad
1546481     Educacion           Ayuda en español para elegir universidad
1546479     Educacion           Aumentan programas de idiomas en escuelas públicas de California
1546478     Educacion           Program uses visual arts as a better way to learn English
1546477     Educacion           Niño hispano de 4 años es pintor
1546473     Educacion           Perspectivas en el Sistema Educativo 2012

订购新闻的最佳方式是什么?

  • 用Y?
  • 更改新的ID X.
  • 添加一个名为news_order的新字段,如果客户端有20条新闻,它将按照id字段的顺序包含1到20之间的数字,因此排序将始终在此处完成场?
  • 还有其他方式吗?

希望我解释自己,如果没有,请告诉我!!

更新

所以只是为了弄清楚事情,它不是我的应用程序,我没有构建它并且是一个真正的f * * *代码我只需要“更新”它并添加一些新功能。该应用程序相对简单,但由于代码和一些数据库结构很久以前实现并且从未得到“改进”,现在是后果。

有一个日期字段,这就是检索新闻时的排序方式(对不起错误)。

使用不同id的重复新闻是因为应用程序的工作原理,它既复杂又合乎逻辑。

1 个答案:

答案 0 :(得分:2)

您不应将ID字段用于除唯一标识符之外的任何其他内容。将它用于任何类型的功能,包括订购,都是不好的做法。

添加“sort_order”字段是正确的解决方案。

我仍然不得不怀疑你是否还有一个发布日期的字段。如果你正在处理新闻,似乎应该在某处。如果您有发布日期,那么最合适的事情就是按顺序排序(大概是“DESC”)。

但我也必须在评论中像'nadirs'一样,为什么你有不同客户的重复条目。适当的解决方案是为客户提供一个表,一个新闻表,然后是一个中间表将它们绑定在一起。但这超出了你的问题的范围,所以我会留下它。