2014-09-04 6 views
0

Я вызываю запрос MySQL, который возвращает массив идентификаторов пользователей. Я хочу передать этот массив, если IDs для 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 Еогеасп ($ USER_FOUND в $ user_list) { \t \t // захватить все эти значения и анализировать арг \t \t $ Args = wp_parse_args ($ арг, массив ('включают' => $ USER_FOUND)); \t} \t $ users = get_users ('include' => $ args); – user3222828

+0

@ user3222828 Нет, см. Пример ниже моего ответа. – jeroen

+0

К сожалению, это не сработало, когда я вызываю $ args = wp_parse_args ($ args, array ('include' => $ user_list())); он не работает. – user3222828

Смежные вопросы