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. 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) 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
Archived
This topic is now archived and is closed to further replies.