WordPress的$ wpdb-> usermeta排序meta_value
题
我想基于一个叫做“点”这样的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 AS签名)强>将隐蔽从LONGTEXT到INT。它现在。
其他提示
如果我不是完全错误的关于MySQL,你必须添加的 meta_key =“点” 以where子句。 重写查询,为:
选择USER_ID,meta_value结果 从$ wpdb-> usermeta结果 WHERE meta_key = '分' 点击 ORDER BY meta_value DESC结果 $ LIMIT限制OFFSET {$ paginate->偏移()}
不隶属于 StackOverflow