2014-09-04 96 views
0

我在調用一個返回一組用戶ID的MySQL查詢。我想通過這個數組,如果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); 

預先感謝您。

回答

0

你有一個問題是,$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']; 
} 
+0

因此,像 \t //讓誰做了什麼,在過去20分鐘,或僅僅是前30名,如果有更多的所有用戶。 \t $ get_user_activity ='SELECT user_id FROM wp_wol WHERE last_action_date> =(NOW()-2200)ORDER BY last_action_date DESC LIMIT 0,30'; \t $ user_list = mysql_query($ get_user_activity); \t的foreach($ user_found爲$ USER_LIST){ \t \t //取得所有的這些值,並解析ARGS \t \t的$ args = wp_parse_args($指定參數時,陣列( '包括'=> $ user_found)); \t} \t $ users = get_users('include'=> $ args); – user3222828 2014-09-04 19:38:39

+0

@ user3222828不,請參閱下面的示例我的答案。 – jeroen 2014-09-04 19:40:19

+0

對不起,當我調用$ args = wp_parse_args($ args,array('include'=> $ user_list()))時沒有任何效果。它失敗。 – user3222828 2014-09-04 19:50:04