2009-12-02 1 views
0

Предположим, у меня есть 1 текущий идентификатор пользователя и другой идентификатор пользователя, к которому текущий пользователь посещает ..... чем я хочу, чтобы принести MySQL данные, только если оба имеют одинаковые варианты .....получение же свойство из MySQL с PHP

, например user1 загрузил фотографию и user2 также загружено изображение ....... чем, как я могу matchd user1 на user2 и запрос должен быть как это ........

выберите * от пользователей, где id = 'user1id' или id = 'user2id' и imguploaded = '1'

этот вопрос верный или нет, но он не работает для меня .......... !! я хочу рабочий запрос так же, как и выше не как выберите * от пользователей, где imguploaded = 1

ответ

0

попробовать ecapsultating ваш, где в квадратных скобках из-за старшинства ...

select * from users where (id='user1id' or id='user2id') and imguploaded='1' 

, если вы этого не сделаете mysql будет предполагать приоритет по умолчанию и интерпретировать запрос следующим образом:

select * from users where id='user1id' or (id='user2id' and imguploaded='1') 

, который не даст желаемого результата.

Чтобы проверить, как пользователи на самом деле картина закачано вы могли бы сделать это:

, а затем проверить, если счетчик == 2

+0

Это будет работать, если любой из пользователей имеет загруженное изображение. Я думаю, что ОП запрашивает запрос, который скажет ему, есть ли у БОЛЬШИХ пользователей загруженный образ. –

0

Почему вы хотите такую ​​вещь, как это?

В любом случае ... создайте таблицу действий, в которой у вас есть такая структура, как id, action, desc Затем создайте таблицу user_action, такую ​​как id, user_id, action_id. Затем принесите результаты.

Таким образом, вы храните данные в таблицах поэтому означали и не испортить UserData свои данные действия. Таким образом, вы также можете легко расширить действия и сравнить пользователей с их сделанными действиями.

0
select * from users where (id='user1id' and imguploaded='1') and (id='user2id'and imguploaded='1') 
+0

спасибо, босс, я понял, что это – testkhan

+0

Вам это помогло? – Tebo

0

Как насчет присоединения?

запрос = "SELECT * FROM пользователей AS первые РЕГИСТРИРУЙТЕСЬ пользователи AS второй ON first.imguploaded = second.imguploaded WHERE first.userid = $ user1 И second.userid = $ user2"

Этот запрос будет принимать эти два пользователя, и если они имеют одинаковый атрибут (imguploaded одинаковый для обоих), верните обе строки, затем вы можете выбрать то, что вам нужно. Вы можете добавить дополнительные атрибуты в пункте ON, например: ON first.imguploaded = second.imguploaded ИЛИ (first.imgdloaded = second.imgdloaded И first.somethingelseuploaded = second.somethingelseuploaded).

Этот способ (с предложением ON инструкции mysql) позволяет объединить все атрибуты в AND/ON, но вы должны поместить скобки - (и) - в нужные места. Конечно, если вы их не ставите, сервер MySQL будет просто читать их поочередно.

Это то, что вам нужно?