考虑到名为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
订购新闻的最佳方式是什么?
news_order
的新字段,如果客户端有20条新闻,它将按照id
字段的顺序包含1到20之间的数字,因此排序将始终在此处完成场?希望我解释自己,如果没有,请告诉我!!
所以只是为了弄清楚事情,它不是我的应用程序,我没有构建它并且是一个真正的f * * *代码我只需要“更新”它并添加一些新功能。该应用程序相对简单,但由于代码和一些数据库结构很久以前实现并且从未得到“改进”,现在是后果。
有一个日期字段,这就是检索新闻时的排序方式(对不起错误)。
使用不同id
的重复新闻是因为应用程序的工作原理,它既复杂又合乎逻辑。
答案 0 :(得分:2)
您不应将ID字段用于除唯一标识符之外的任何其他内容。将它用于任何类型的功能,包括订购,都是不好的做法。
添加“sort_order”字段是正确的解决方案。
我仍然不得不怀疑你是否还有一个发布日期的字段。如果你正在处理新闻,似乎应该在某处。如果您有发布日期,那么最合适的事情就是按顺序排序(大概是“DESC”)。
但我也必须在评论中像'nadirs'一样,为什么你有不同客户的重复条目。适当的解决方案是为客户提供一个表,一个新闻表,然后是一个中间表将它们绑定在一起。但这超出了你的问题的范围,所以我会留下它。