2012-06-27 39 views
0

我的脚本准备复选框的答案,但我也想要如果没有任何与instruktor复选框或与instruktor_poczatkowy等选择整个列,并在选择一些选项只做这个选项。PHP查询MYSQL没有工作ELSE选项在哪里

$dbr = dbq("SELECT * FROM `table` WHERE instruktor LIKE '%' OR instruktor in ('$instruktor1', '$instruktor2', '$instruktor3', '$instruktor4', 
          '$instruktor5', '$instruktor6', '$instruktor7', '$instruktor8', '$instruktor9', '$instruktor10', '$instruktor11', '$instruktor12') 
          AND instruktor_poczatkowy in ('$instruktor_poczatkowy1', '$instruktor_poczatkowy2', 
          '$instruktor_poczatkowy3', '$instruktor_poczatkowy4', '$instruktor_poczatkowy5', '$instruktor_poczatkowy6', 
          '$instruktor_poczatkowy7', '$instruktor_poczatkowy8', '$instruktor_poczatkowy9', '$instruktor_poczatkowy10', 
          '$instruktor_poczatkowy11', '$instruktor_poczatkowy12') AND lokalizacja in ('$lokalizacja1','$lokalizacja2', '$lokalizacja3', '$lokalizacja4', '$lokalizacja5') 
          AND status in ('$status1', '$status2', '$status3', '$status4') 
AND chce_mail like '$chce_mail2' AND klub like '$klub2' order by nazwisko"); 

我想它就像工作:

 $dbr = dbq("SELECT * FROM `table` WHERE instruktor LIKE '%' OR instruktor in ('$instruktor1', '$instruktor2', '$instruktor3', '$instruktor4', 
          '$instruktor5', '$instruktor6', '$instruktor7', '$instruktor8', '$instruktor9', '$instruktor10', '$instruktor11', '$instruktor12') 
          ELSE instruktor = % AND instruktor_poczatkowy in ('$instruktor_poczatkowy1', '$instruktor_poczatkowy2', 
          '$instruktor_poczatkowy3', '$instruktor_poczatkowy4', '$instruktor_poczatkowy5', '$instruktor_poczatkowy6', 
          '$instruktor_poczatkowy7', '$instruktor_poczatkowy8', '$instruktor_poczatkowy9', '$instruktor_poczatkowy10', 
          '$instruktor_poczatkowy11', '$instruktor_poczatkowy12') ELSE instruktor_poczatkowy = % AND lokalizacja in ('$lokalizacja1','$lokalizacja2', '$lokalizacja3', '$lokalizacja4', '$lokalizacja5') 
          ELSE lokalizacja = % AND status in ('$status1', '$status2', '$status3', '$status4') ELSE status = % 
AND chce_mail like '$chce_mail2' AND klub like '$klub2' order by nazwisko"); 

但不没有做到这一点的方式......有人可以给我一个建议吗?

+2

为什么你使用'LIKE'以这种方式,它只是说'LIKE'什么,这与没有把它摆在首位一样。 –

+0

'chce_mail like'$ chce_mail2'AND klub like'$ klub2'' should be'chce_mail like'%$ chce_mail2%'AND klub like'%$ klub2%'' –

+0

这个LIKE正在工作,但在其他我的情况下,有测试“ELSE”的代码LIKE正在咆哮总是向我展示一切...不管是sobe复选框是否被选中或不... – user1248182

回答

0
LIKE '%' 

这意味着你的价值可以是任何东西,这始终是真实的(除非你的价值是零,我想)

LIKE 'foo' 

这意味着你的价值是完全“富”

LIKE '%foo' 

这意味着你的价值以'foo'结尾

LIKE 'foo%' 

这意味着你的价值与“富”开始

LIKE '%foo%' 

这意味着你的价值包含“富”

+0

请记住,默认情况下,MySQL模式匹配不区分大小写。 – eggyal

+0

我想用SELECT LIKE作为SELECT ALL。以及如何在这个查询中写入:IF status in('$ status1','$ status2','$ status3','$ status4')NOT THAN“select all”status in my table and go to check more data从我的复选框没有检查 – user1248182

+0

如果你想选择所有的a,b,c,d,e都是真的时候使用OR运算符。 –