-1

我有来自 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 } ?>

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

4

3 回答 3

0

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

然而,做你想做的最简单的方法是将你的 for-each 循环更改为一个只有两次迭代的 for-loop。在这种情况下,您将只显示阵列中的前两个管理员。

如果管理员组是从 MySQL 查询中检索的,您必须找到该查询并将子句添加limit 2到它的末尾。

于 2013-09-05T19:03:53.493 回答
0

以限制 2 为例。

SELECT * FROM `table` WHERE `condition` = ? LIMIT 10
于 2013-09-05T19:07:24.217 回答
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 } ?>
于 2013-09-05T19:10:33.210 回答