【问题标题】:Returning an array of user objects from a query从查询中返回用户对象数组
【发布时间】:2014-10-29 16:18:48
【问题描述】:

我正在调用一个返回用户 ID 数组的 MySQL 查询。我想将此数组 if ID 传递给 get_users 以创建用户数组,但我似乎无法正确获取代码。

我的代码目前....

// get all users who have done something in the last 20 mins, or just the top 30 if there are more.
$get_user_activity='SELECT user_id FROM wp_wol WHERE last_action_date >= ( NOW( ) -2200 ) ORDER BY last_action_date DESC LIMIT 0 , 30';
$user_list = mysql_query ( $get_user_activity);
$args = wp_parse_args( $args, array( 'include' => $user_list ));
$users = get_users( 'include' => $args ); 

提前谢谢你。

【问题讨论】:

    标签: php mysql arrays wordpress


    【解决方案1】:

    您遇到的一个问题是$user_list 不是您所期望的。

    您将其视为具有用户 ID 的数组,但 mysql_query() 返回 false 或成功时的资源。

    您需要先获取所有行,然后才能在 wp_parse_args() / get_users() 中使用它。

    类似:

    $success = mysql_query($get_user_activity);
    $user_list = array();
    while ($row = mysql_fetch_assoc($result)) {
        $user_list[] = $row['user_id'];
    }
    

    【讨论】:

    • 类似 // 获取所有在过去 20 分钟内做过某事的用户,或者如果有更多,则只获取前 30 个用户。 $get_user_activity='SELECT user_id FROM wp_wol WHERE last_action_date >= (NOW() -2200) ORDER BY last_action_date DESC LIMIT 0, 30'; $user_list = mysql_query ($get_user_activity); foreach( $user_found as $user_list ) { // 获取所有这些值并解析 args $args = wp_parse_args( $args, array( 'include' => $user_found )); } $users = get_users('include' => $args);
    • @user3222828 不,请参阅我的答案下面的示例。
    • 对不起,当我调用 $args = wp_parse_args( $args, array( 'include' => $user_list() ));它失败了。
    • @user3222828 var_dump()'s 在不同阶段的不同变量,看看它们包含什么。
    猜你喜欢
    • 1970-01-01
    • 2021-07-21
    • 2013-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-26
    • 2016-02-18
    • 2021-08-24
    相关资源
    最近更新 更多