У меня есть эта система PM, где пользователи могут писать друг другу. Когда я показываю имеющийся РМ у меня в таблице MySQL deleted_sender
и deleted_receiver
PHP - Mysql select AND OR
Если deleted_sender
является 1, то человек, который послал PM не должен быть в состоянии видеть его в списке. Если deleted_receiver
равен 1, то лицо, получившее ПМ, не сможет его увидеть.
Вопрос в том, как я могу сделать это с помощью запроса mysql? В настоящее время у меня есть следующее:
$r=mysql_query("
SELECT * FROM private_messages
WHERE
sender_id='".$userdata['id']."'
OR
receiver_id='".$userdata['id']."'
AND
(deleted_receiver='0' OR deleted_sender='0')");
Хотя это показывает только PM как у отправителя, так и у получателя.
Я не уверен, почему вы хотите написать одиночный запрос, см. Как отправитель, так и получатель - отдельная сущность, и вы хотите показать результат только одному из них. если он удален для отправителя, то не показывать отправителю шоу на приемник. поэтому ставьте только одно условие, то есть либо для отправителя, либо для приемника. –
проверить, является ли '$ userdata ['id']' отправителем, затем запрос с 'deleted_sender = 0' наоборот для получателя –