限制从数据库返回的结果数

时间:2013-09-05 19:02:09

标签: php mysql database buddypress

我从PHP网站获得以下代码,在调用时,会返回网站上用户组数据库中的管理员列表:

function bp_group_list_admins( $group = false ) {
global $groups_template;

if ( empty( $group ) )
    $group =& $groups_template->group;

if ( !empty( $group->admins ) ) { ?>
    <ul id="group-admins">
        <?php foreach( (array) $group->admins as $admin ) { ?>
            <li>
                <a href="<?php echo bp_core_get_user_domain( $admin->user_id, $admin->user_nicename, $admin->user_login ) ?>"><?php echo bp_core_fetch_avatar( array( 'item_id' => $admin->user_id, 'email' => $admin->user_email, 'alt' => sprintf( __( 'Profile picture of %s', 'buddypress' ), bp_core_get_user_displayname( $admin->user_id ) ) ) ) ?></a>
            </li>
        <?php } ?>
    </ul>
<?php } else { ?>
    <span class="activity">No Admins</span>
<?php } ?>

我想将返回的结果数量限制为最多两个(即列出的两个管理员)。这可以通过改变上面的代码来实现吗?我该怎么做呢?

3 个答案:

答案 0 :(得分:0)

您的代码不是很有帮助,因为不清楚是否从MySQL查询中检索了管理员数组,如果是,那么。

但是,执行所需操作的简单方法是将for-each循环更改为只有两次迭代的for循环。在这种情况下,您只会显示数组中的前两个管理员。

如果从MySQL查询中检索到管理员组,则必须找到该查询并在其末尾添加limit 2子句。

答案 1 :(得分:0)

例如,使用LIMIT 2。

SELECT * FROM `table` WHERE `condition` = ? LIMIT 10

答案 2 :(得分:0)

最好的方法是直接在查询中限制数据,由另一个用户回答。

如果且仅当您出于某种原因无法更改查询/数据时,则只需突破循环

function bp_group_list_admins( $group = false ) {
global $groups_template;

if ( empty( $group ) )
    $group =& $groups_template->group;

if ( !empty( $group->admins ) ) { ?>
    <ul id="group-admins">
        <?php
        $i = 0;
        foreach( (array) $group->admins as $admin ) { ?>
            <li>
                <a href="<?php echo bp_core_get_user_domain( $admin->user_id, $admin->user_nicename, $admin->user_login ) ?>"><?php echo bp_core_fetch_avatar( array( 'item_id' => $admin->user_id, 'email' => $admin->user_email, 'alt' => sprintf( __( 'Profile picture of %s', 'buddypress' ), bp_core_get_user_displayname( $admin->user_id ) ) ) ) ?></a>
            </li>
        <?php
        $i++;
        if ($i >= 2) { break; }
        } ?>
    </ul>
<?php } else { ?>
    <span class="activity">No Admins</span>
<?php } ?>