私はワードプレスのソーシャルメディアサイトのこのコードに取り組んでいます。そこでは、異性の人々があなたの友人でない場合にのみ視覚化できます(彼らがあなたの友人である場合、彼らは別のページに移動します)
PHPではすでに男性と女性を分けることができますが、今はすでにあなたの友達である男性/女性も排除したいと思います
$query = "SELECT user_id FROM {$wpdb->prefix}bp_xprofile_data, WHERE field_id = 3 AND value = 'homme'";
(これで私は男性だけを取得します)、今彼らの友達のステータスに関する情報は別のテーブルにあります、私はそれを解決するためにWHEREEXISTを使用してみました
$query = "SELECT user_id FROM {$wpdb->prefix}bp_xprofile_data, WHERE field_id = 3 AND value = 'homme' AND EXIST (SELECT id {$wpdb->prefix}bp_friends WHERE (initiator_user_id = $user_id AND is_confirmed = 1) OR (friend_user_id = $user_id AND is_confirmed = 1)) ";
しかし、うまくいかないようです。私はしたいuser_id
最初のテーブルから、私は友人のステータスを抽出したい場合、私はこのクエリを適用できる(私が抽出したいいけないことを、私はちょうどそれがuser_idsをカットするために私の他の情報を裏付けるたいです)
$already_friends = "SELECT is_confirmed FROM {$wpdb->prefix}bp_friends, WHERE initiator_user_id = $user_id OR friend_user_id = $user_id";
あなたが参照しているテーブルの構造が何であるかわかりません。提供された情報に基づいて、これは機能する可能性があります。
SELECT user_id
FROM {$wpdb->prefix}bp_xprofile_data
WHERE
field_id = 3 AND
value = 'homme' AND
user_id NOT IN (SELECT friend_user_id
FROM {$wpdb->prefix}bp_friends
WHERE initiator_user_id=$user_id AND is_confirmed=1) AND
user_id NOT IN (SELECT initiator_user_id
FROM {$wpdb->prefix}bp_friends
WHERE friend_user_id=$user_id AND is_confirmed=1)
このSQLステートメントは見栄えが悪いことを認識しておく必要があります。速度が遅く、読みにくいです。可能であれば改善する必要があります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加