- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为我的应用程序开发新闻源,就像您在 Facebook 上使用的那样。所有新闻提要帖子都在同一个名为 newsfeed
的数据库表中。我的应用程序主要围绕用户和事件发展。 newsfeed
表有一个 newsfeed_type
列(int,1-14 指的是 newsfeed_types
表中的 id)。每个新闻源条目还有一个 other_id
和 other_tabl
e + item_id
和 item_table
。例如,用户向事件发布内容; user 是属于 users
表的 other_id
而 event 是 item_id
属于 events
表。
理想情况下,我想收集大约 20 篇按时间戳降序排列的帖子,并在我的应用中使用“无限滚动”加载其余帖子。 PHP 我的脚本目前的工作方式是,它首先收集用户正在参加的每个事件以及该用户正在关注的所有用户/好友在单独 数组中。然后它使用 SQL 查询一个接一个地迭代这两个数组:
$query = "select * from newsfeed where (other_id = ". $event["id"] ." and other_table = 'events') or (item_id = ". $event["id"] ." and item_table = 'events') order by date desc limit 10";
$query = "select * from newsfeed where newsfeed_type != 5 and ((other_id = ". $user["id"] ." and other_table = 'users') or (item_id = ". $user["id"] ." and item_table = 'users')) order by date desc limit 10";
我编写脚本时没有意识到它要求为每个事件和用户输入 10 个条目。让它请求 1 个条目也不是很理想,因为用户可以关注无限数量的事件,而用户每个项目只有一个新闻提要帖子。
你认为最好的做法是让它只获取 newsfeed
表中的 20 个最新条目,而不必迭代两个数组来获取获取新闻源所需的数据一次输入一个?我想我可以在一个字符串中收集 id
和 table
并使 SQL 查询一次性获取所有内容,而不是在循环或其他东西中,但我想我'如果有人处理过这个问题并想出了一个天才的解决方案,我会问问你们。
最佳答案
我找到了解决方案。我没有抓取每个用户类型并将它们存储在单独的数组中以遍历它们,而是分别 foreach 了两个数组并制作了一个字符串用作 sql 查询,限制为 25 个项目。
$sql_string = "";
foreach ($events as $event) {
$sql_snippet = "(other_id = ". $event["id"] ." and other_table = 'events') or (item_id = ". $event["id"] ." and item_table = 'events')";
if ($is_adding == "true") {
$last_id = $_POST["last_id"];
$sql_snippet .= " and id < $last_id";
}
if ($sql_string == "") {
$sql_string = "(". $sql_snippet .") ";
} else {
$sql_string .= "or (". $sql_snippet .") ";
}
}
foreach ($users as $user) {
$sql_snippet = "(other_id = ". $user["id"] ." and other_table = 'users') or (item_id = ". $user["id"] ." and item_table = 'users')";
if ($is_adding == "true") {
$last_id = $_POST["last_id"];
$sql_snippet .= " and id < $last_id";
}
if ($sql_string == "") {
$sql_string = "(". $sql_snippet .") ";
} else {
$sql_string .= "or (". $sql_snippet .") ";
}
}
$query = "select * from newsfeed where newsfeed_type = 12 or ($sql_string) order by date desc limit 25";
关于PHP + MySQL 新闻源的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43905468/
我正在尝试在我的网站上运行新闻源。它显示所有新闻并循环播放除过期新闻外的所有新闻。我可以通过网页添加新闻,因此 JSON 可能会不断变化。 PHP 脚本生成 JSON 如下: [ {
所以我正在用 PHP 构建一个音乐社交网络,但现在我陷入了新闻源。它应该像任何其他新闻源(Twitter、Facebook ...)一样工作,并且首先应该尽可能简单。 显示 MySQL 数据库中从最新
我正在尝试为我的网站创建一个新闻源,其中显示 3 种类型的信息:问题、答案(与问题相关)和讨论。 我有一个名为“事件”的主表,用于记录平台的所有事件,以及用于每种记录类型(用户、问题、答案和讨论)的单
任何人都可以建议访问 tfl 交通新闻源的想法吗?以下是获取数据源 URL 的链接。 http://www.tfl.gov.uk/businessandpartners/syndication/164
我有一个信息系统,更具体地说,是一个票务系统。信息系统将包含拥有无限或“n”个用户的账户。我希望用户能够看到其他用户的操作或对新闻源中内容的更改。 (就像 Facebook)。我将使用 PHP、MyS
我有一个用于票务信息系统的新闻提要。 News Feed 的效果与 Facebook 的 News Feed 相同,只有当有新内容需要获取时才会获取数据。 我无法理解在何处将 SQL 查询结果应用到多
我需要学习如何创建一个精心设计的 PHP“最近事件”提要显示用户最近在网站上的事件及其用户名、事件以及他们执行该操作/事件的时间。到目前为止我没有任何进展,感谢任何帮助。 最佳答案 这不仅仅是 PHP
我有一位客户希望在他们的网站上显示他们公司的 Facebook 新闻源/时间线。这不是个人时间线/新闻源,而是组织的。 我读过的所有内容似乎都是几年前的事情,但结果似乎是:Facebook 希望将其所
引用 gnu.mail.providers.nntp 的 API 文档,我正在尝试在运行 leafnode 的本地主机 nntp 上生成文件夹列表。 。 但是,${user.home}/.newsrc
我正在使用this jQuery plugin ( fiddle ) 阅读 Google 新闻 rss feed。它需要将 feed 转换为 json 格式。然后我遇到了this thread无需 Y
如果我比较 https://graph.facebook.com/me/home?access_token= 上的内容...和我的实际 facebook 新闻提要,它们彼此不同,即一个具有另一个没有的
我是一名优秀的程序员,十分优秀!