code_junkie

Php/ MySql 'Advanced Search' Page

Nov 13th, 2011
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. SELECT * FROM myTable WHERE field='$keyword';
  2.  
  3. SELECT * FROM myTable WHERE field LIKE '%$keyword%';//Let me know if this is the wrong approach
  4.  
  5. (field='$keywords') OR ($field='$keywords) (OR)....
  6.  
  7. <?php
  8. $choice = $_POST['choice'];
  9. $query = $_POST['query'];
  10.  
  11. if ($choice == "oneWord") {
  12. //Not 100% sure what you mean by one word but this is the simplest form
  13. //This assumes $query = a single word
  14. $result = mysql_query("SELECT * FROM table WHERE MATCH (field) AGAINST ('{$query}' IN BOOLEAN MODE)");
  15. } elseif ($choice == "exactWords") {
  16. $result = mysql_query("SELECT * FROM table WHERE MATCH (field) AGAINST ('"{$query}"' IN BOOLEAN MODE)");
  17. } elseif ($choice == "atLeastOneWord") {
  18. //The default with no operators if given multiple words will return rows that contains at least one of the words
  19. $result = mysql_query("SELECT * FROM table WHERE MATCH (field) AGAINST ('{$query}' IN BOOLEAN MODE)");
  20. } elseif ($choice == "withoutTheTerm") {
  21. $result = mysql_query("SELECT * FROM table WHERE MATCH (field) AGAINST ('-{$query}' IN BOOLEAN MODE)");
  22. }
  23. ?>
  24.  
  25. SELECT * FROM myTable WHERE field LIKE '%$keyword%'
  26. or field LIKE '%$keyword2%'
  27. or field LIKE '%$keyword3%';
  28.  
  29. SELECT * FROM myTable WHERE field NOT LIKE '%$keyword%';
Add Comment
Please, Sign In to add comment