Php 为社交网站创建提要

Php 为社交网站创建提要,php,mysql,sql,codeigniter,social-networking,Php,Mysql,Sql,Codeigniter,Social Networking,我正在制作一个社交网站,无法决定从各种表格中获取数据的最佳方式是在提要中显示。每次存储某个内容时,它都会有一个时间戳,所以我想知道从按时间戳排序的不同表中检索数据的最佳方法,并且每页只能检索20个结果。理想情况下,我希望mysql能够查询所有不同的表,并对其进行排序和限制,但因为不同的表并不一定都相关,需要根据表的用途返回不同的数据,我认为这是不可能的。当然,我可以单独查询每个表,但接下来如何对所有信息进行排序和排序,使所有不同的实体都位于一个有序列表中。我使用的服务器端语言是带有codeign

我正在制作一个社交网站,无法决定从各种表格中获取数据的最佳方式是在提要中显示。每次存储某个内容时,它都会有一个时间戳,所以我想知道从按时间戳排序的不同表中检索数据的最佳方法,并且每页只能检索20个结果。理想情况下,我希望mysql能够查询所有不同的表,并对其进行排序和限制,但因为不同的表并不一定都相关,需要根据表的用途返回不同的数据,我认为这是不可能的。当然,我可以单独查询每个表,但接下来如何对所有信息进行排序和排序,使所有不同的实体都位于一个有序列表中。我使用的服务器端语言是带有codeigniter框架的PHP


有人有什么想法吗?

您能为从所有单独的表中返回的内容建立一个通用格式吗?例如,您可以编写一个查询,返回FeedTitle、FeedSummary和Timestamp:

 select top 20 *
   from (

 select a.Title as FeedTitle,
        a.A + a.B + a.C as FeedSummary,
        a.Timestamp as TimeStamp
   from a

union all

 select b.Name + ' married ' + b.Spouse as FeedTitle,
        b.AtPlace as FeedSummary,
        b.TimeStamp as TimeStamp
   from b

) as allFeeds
  order by TimeStamp desc
我不确定我的sql语法是否准确,这将在sql Server中工作,并且应该非常相似。不管怎么说,这只是伪代码,其想法是您可以在数据库中执行一些应用程序逻辑,以期获得性能提升(因此您不必在PHP中对大量数据进行排序)


另一种方法是返回每个表的最后20个,让客户端对它们进行排序。因此,将它们全部发送到用户界面,让jQuery代码显示前20名,然后让用户动态选择提要的类型,他们可以在任何一种类型或任何类型组合中看到前20名故事。

可以给出一些表的结构。这两个非常好的想法非常感谢jQuery方法,特别是,这将为提要添加一个额外的维度