限制返回的结果数量

时间:2011-08-08 作者:JonnyPlow

如何限制返回的结果数量?

$images = $wpdb->get_col("
    SELECT ID FROM $wpdb->posts
    WHERE post_type = \'attachment\'
    AND ID in ($meta)
    ORDER BY menu_order ASC
");

3 个回复
最合适的回答,由SO网友:Ashfame 整理而成

$images = $wpdb->get_col("
    SELECT ID FROM $wpdb->posts
    WHERE post_type = \'attachment\'
    AND ID in ($meta)
    ORDER BY menu_order ASC
    LIMIT 5
");
就像@Kaiser建议的那样,您可以指定一个范围(第5到20个结果,最多返回15个结果),如下所示:

$images = $wpdb->get_col("
    SELECT ID FROM $wpdb->posts
    WHERE post_type = \'attachment\'
    AND ID in ($meta)
    ORDER BY menu_order ASC
    LIMIT 5,20
");

SO网友:Chip Bennett

为什么不直接使用get_posts()?

<?php
$attachments = get_posts( array(
    \'post_type\' => \'attachment\', // post attachments
    \'post_mime_type\' => \'image\', // only images
    \'post_parent\' => $post->ID,  // children of the current post
    \'number_posts\' => 5          // <-- THIS IS THE NUMBER OF POSTS LIMIT
) );
?>
我总是喜欢对原始数据库查询进行函数调用。

SO网友:kaiser

作为对@Ashfame答案的补充:您不仅可以设置“硬”限制,还可以设置范围,使用LIMIT 1,100 这会给你带来1-100的结果。

结束

相关推荐

Posts vs Pages and categories

我正在为图书馆的收藏/档案室创建一个基本上静态的网站。由于我希望大多数内容只创建一次,并随着时间的推移慢慢添加或修改,而不是常规的帖子,所以我的第一个倾向是将所有内容都变成一个页面。另一方面,我有两个或三个类别的页面/帖子,我非常希望能够生成这些页面/帖子的列表,除了使用类别和帖子,我想不出一个好的方法来做到这一点。我知道有一个插件允许您使用类别标记页面,但我这样做时get\\u帖子并不总是有效。我有需要多个类别并相互重叠的内容,这一事实是否比这一内容基本上应该是静态的更重要?我有一个由专门针对特定主题的