Вопрос

Я пытаюсь показать всех пользователей на основе Meta_Key под названием «точки», как это:

$wpdb->get_col($wpdb->prepare("
SELECT user_id, meta_key = 'points', meta_value 
FROM $wpdb->usermeta 
ORDER BY meta_value DESC 
LIMIT $limit OFFSET {$paginate->offset()}"));

Пользователи отображаются должным образом, но заказ не работает, Meta_Value равен числу от 1 до ∞. Итак, как я должен заставить его работать? Спасибо.

PS: Это выход:

Array ( [0] => 1 [1] => 2 [2] => 4 ) 

Поэтому я верю, что заказывается по ID.

Это было полезно?

Решение

SELECT user_id, meta_value FROM $wpdb->usermeta WHERE meta_key = 'points' ORDER BY CAST(meta_value AS SIGNED) DESC LIMIT

CAST (META_VALUE Как подписано) будет скрыт от ongtext для INT. Это работает сейчас.

Другие советы

Если я не совсем ошибаюсь в MySQL, вы должны добавить meta_key = 'Точки' к предложению, где. Перепишите запрос:

Выберите user_id, meta_value
От $ wpdb-> usermeta
Где META_KEY = «точки»
Заказать Meta_Value Desc
Ограничение $ Confet Offset {$ Paginate-> Offset ()}

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top