david.h Posted May 30, 2008 Share Posted May 30, 2008 Hey guys. I'm coding a search function, the problem with it is that i want to search for multiply categories. Code at the moment: SELECT * FROM $tablename WHERE text LIKE '%$search%' or tags LIKE '%$search%' or title LIKE '%$search%' The problem is that if i change it to (to make it include the categories in the search): SELECT * FROM $tablename WHERE text LIKE '%$search%' or tags LIKE '%$search%' or title LIKE '%$search%' and cat=$cat1 or cat=$cat2 it wont work due to the "or" between cat=$cat1 and cat=$cat2. Is there any way to do like in the if statement in PHP. ex: if ((($something == 1) && ($somethingelse == 2)) or ($somethingelse2 == 3)) I want to do something like that, separating the if statement so that both $something and $somethingelse has to be true, or $somethingelse2. but in mysql i can only do: if (($something == 1) && ($somethingelse == 2) or ($somethingelse2 == 3)) and that's a totally diffrent thing... Sorry, i could'nt figure out a better way of explaining this. Thanks in advance. Quote Link to comment https://forums.phpfreaks.com/topic/108065-separating-statements-with-where-mysql/ Share on other sites More sharing options...
sasa Posted May 31, 2008 Share Posted May 31, 2008 try SELECT * FROM $tablename WHERE text LIKE '%$search%' or tags LIKE '%$search%' or title LIKE '%$search%' and (cat=$cat1 or cat=$cat2) Quote Link to comment https://forums.phpfreaks.com/topic/108065-separating-statements-with-where-mysql/#findComment-554044 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.