質問

このような「ポイント」と呼ばれる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) LongtextからIntに隠れます。それは今動作します。

他のヒント

私がmysqlについて完全に間違っていない場合、あなたは meta_key = 'ポイント' 句に。クエリを書き換えます。

user_id、meta_valueを選択します
$ wpdb-> usermetaから
ここでmeta_key = 'ポイント'
Meta_Value DESCによる注文
制限$ limit offset {$ paginate-> offset()}

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top