2016-03-20 21 views
0

Benim köpek veritabanı A ve E arasında bir değer içeren bir hd "hd" veya hd rating bilinmiyorsa hiçbir şey içerir.Wordpress MYSQL SELECT joker içeriyor NULLS içerir

Veritabanını Wordpress'ten sorgulamak için bir kullanıcı formu uyguluyorum.

ben çoğu kullanıcı A ve C arasında hd puan alan köpekler seçmek istediğiniz bekliyoruz ve ben bunu yapmak mümkün olmuştur:

WHERE hd REGEXP "[A|B|C]"; 

Ama regexp'in ile bir joker çözüm gibi görünmüyor kullanıcı HD bir seçim gerektirmez eğer öyleyse ben GİBİ ben her seferinde bir hd kodu için arama yapabilirsiniz kullanırsanız, ben Ancak

WHERE hd LIKE "%"; 

kullanabilirsiniz. , örn. VAR HD GİBİ "B";

Ben de birden çok değeri seçmek başarmış:

WHERE hd IN ('A','B','C'); 

Ama

WHERE hd IN ("%"); 

yapmak Ama ne gerçekten ihtiyacım birden çok değer VEYA olabilir daha joker bir seçimdir olamaz $ _POST dizisindeki SELECT ifadesine geçti.

Tüm öneriler welcome.

Gary

cevap

0

Sütunun kullanımı nasıl?

WHERE hd IN ('A','B','C') 

veya

WHERE hd IN (hd) 

hdNULL değilken bu çalışacaktır.

alternatif şöyle görünebilir: Ben cevabı kendim buldum gibi

WHERE ((hd >= $hd_low and hd >= $hd_high) or $hd_low is null) 
0

görünüyor:

WHERE hd IN ('A','B','C','D','E',''); 

tüm hd kategorilerini + nulls seçer.

Kullanıcılar yalnızca, A, B ve C'de bir seçim yapmak istiyorlarsa D, E ve '' formlarını silmelidir.