如何执行MySQL查询以获取来自不同订阅的所有行(按ID排序)?

沿着

用户已订阅。它们存储在PHP数组中。我正在尝试获取所有属于ID订阅的帖子,以显示在新闻Feed中。我试图让所有这些对象循环抛出该数组,然后按ID对它们进行排序。我想知道是否有更简单的方法,因为我决定使用“ LIMIT”以仅获取特定数量的帖子。

问题是,现在,我收到了所有帖子,而我只需要10个帖子。我正在使用PDO,MySQL,PHP。这是我现在拥有的代码:

foreach(subscriptions_arr as $sub) {
    $select = $db->prepare("select * from posts where owner_id = :owner_id");
    $select->bindParam(':owner_id', $sub);
    $select->execute();
    $posts = $select->fetchAll(PDO::FETCH_ASSOC);

    // pushes all of the posts into one multi-array with only 2 levels
    // (instead of 3 as before)
    // to be able to sort it by id, and not by subscriptions
    foreach ($posts as $post) {
        $new_array[] = $post;
    }
}
// sorts by id
usort($new_arr, function($a, $b) {
    return $b['id'] - $a['id'];
});

现在,如果我限制为10个,则每个订阅将获得10个帖子,但摘要中需要10个帖子(最新的帖子(按ID排序))。

卢卡·贾迪娜(Luca Giardina)

如果您有一系列订阅,我建议您使用IN Clausole。

$select = $db->prepare("select * from posts where owner_id IN(" . 
implode(',',subscriptions_arr).") ORDER BY owner_id";

$result = $select->execute();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

显示来自查询的所有行

MySQL查询-查找ID可被4整除的所有行

SQL查询以获取表中所有相关ID位于数组中的所有不同单词

WP查询:如何获取来自特定作者或具有特定元值的帖子

无法获取来自多个页面的所有链接不变的URL

SQL查询以获取来自不同表的最佳得分选手的信息

从按最新排序的查询集中获取不同的django对象

如何将不同订阅中的ACR附加到AKS?

Django .objects,获取来自不同模型的合并查询集

在单个MySQL查询中获取所有列的不同计数

如何从特定ID获取按desc排序的行

DynamoDB查询| 如何获取按最新时间戳排序的所有记录?

Django Rest API。通过一次API调用即可获取来自不同模型的所有数据

连接来自不同订阅的Azure VM

流星如何处理来自多个用户的相同订阅?

使用GROUP BY的mysql查询无法获取所有行

Javamail获取来自特定发件人的所有电子邮件

从密钥中获取来自不同语言环境中的所有资源文件的消息

查询响应以获取来自quickbooks db的付款记录?

如何从查询中获取来自控制器的数据

查询架构以获取来自某人的用户的帖子

使用Move-AzureRmResource到具有不同租户的不同订阅

MySQL查询以获取所有在行中使用的不同字母

如何使用 ConnectableObservable 预取然后使用不同订阅者处理的数据

什么是 sql 查询以打印来自具有相同 ID 表的多个表中的所有行?

我们如何使用管道将应用程序从 azure devops 部署到具有不同订阅和组织的 azure appservice

如何获取所有查询

在 VMSS 的不同订阅下使用来自多个 KeyVault 的证书/秘密

如何在单个查询中获取 MySQL 中所有不同项的所有总和