3つのテーブルを相互参照するPDOステートメントを実行する必要がありますが、行き詰まっているようです。
基本的に、2つのテーブル(myl_contactsとmya_users )からの4つのレコードが必要であり、 myl_blocked_contactsにリストする必要はありません。
myl_blocked_contactsには、ブロックされているidとcontact_type('a'、'l'、'x'など)の行があり、myl_contactsから、ブロックされているユーザーとブロックされていないユーザーを選択する必要があります(したがって、myl_blockedにはありません)。連絡先)。
これが私がこれまでに行ったPDO::mysqlクエリの一部です。ここからどこへ行けばいいのかわからない、ネットから色んなことをやっているけど、どういうわけか間違った方向に進んでいるようだ。ありがとう!
$query = "SELECT myl_contacts.contact_id, mya_users.name, mya_users.city, mya_users.ext
from myl_contacts, mya_users,
LEFT JOIN myl_blocked_contacts
WHERE myl_contacts.contact_type='a'
AND myl_contacts.label_id=:id
AND (myl_blocked_contacts.contact_type!='a'
AND myl_blocked_contacts.contact_id!=mya_users.id)
";
$result = $db->prepare($query);
$result->bindValue(':id', $_id, PDO::PARAM_INT);
$result->execute();