php ile mysql aynı özelliği alıyorum

3 Cevap php

i her ikisi de aynı seçenekler var sadece mysql bilgilerinizi almak daha ..... 1 geçerli kullanıcı kimliği ve geçerli kullanıcı ziyaret için başka bir kullanıcı kimliği var herhalde .....

örneğin nasıl ben birey2 ve sorgu böyle olması gerektiğini user1 matchd olandan ....... birey1 bir resim yükledi ve birey2 ayrıca resim yükledi ........

* seçin id = 'user1id' veya id = 'user2id' ve imguploaded = '1 'kullanıcılardan

is this query is correct or not but it is not working for me..........!! i want a working query same as above not as select * from users where imguploaded=1

3 Cevap

Çünkü öncelik, sizin nerede parantez ile ecapsultating deneyin ...

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

Eğer yoksa mysql varsayılan önceliği tahmin ve bu gibi sorgu yorumlayacaktır:

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

istenilen sonucu vermeyecektir hangi.

Hem kullanıcılar hem de aslında bunu yapabilir yüklenen bir resim var varsa kontrol etmek için:

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

ve sonra kontrol eğer sayısı == 2

Niye böyle böyle bir şey isteyeyim?

Neyse ... Eğer id, action, desc Sonra gibi bir user_action tablo oluşturmak gibi bir yapıya sahip eylemler tablo çeşit oluşturmak id, user_id, action_id. Sonra sonuçlar getirebilir.

Eğer bu nedenle geliyordu tablolardaki verileri depolamak ve bu şekilde onların hareket verileri ile userData pisliği yok. Bu şekilde aynı zamanda kolayca eylemleri genişletmek ve yapılan işlemler kullanıcıları karşılaştırabilirsiniz.

Nasıl ile ilgili bir katılmak?

query = "SELECT * FROM users AS first JOIN users AS second ON first.imguploaded = second.imguploaded WHERE first.userid = $user1 AND second.userid = $user2"

This query would take the two users, and if they have the same attribute (imguploaded is the same for both), return both rows, you can then select what you need. You can add more attributes to the ON clause, for example: ON first.imguploaded = second.imguploaded OR ( first.imgdloaded = second.imgdloaded AND first.somethingelseuploaded = second.somethingelseuploaded).

(Mysql deyimi ON yan tümcesi) Bu şekilde VE ON / tüm özelliklerini birleştirebilirsiniz ancak parantez yere sahip - doğru yerlerde - (ve). Bunları koymak yoksa tabii ki, MySQL sunucu sadece seri onları okuyacak.

Bu ne ihtiyaç vardır?