user2307958
user2307958

Reputation: 351

Filter query results

I have this search query and I would like to filter results based on "folder_restriction" but seem AND clause not filter results. Where do I do wrong?

    SELECT * 
     FROM mod_images
     LEFT JOIN mod_folders 
       ON folder_id = image_folder_id
     LEFT JOIN mod_cats 
       ON cat_id = folder_cat_id                    
    WHERE ((`folder_number` LIKE '%".$search."%') OR ('%".$search."%')) OR
          ((`titule` LIKE '%".$search."%') OR ('%".$search."%'))        OR
          ((`description` LIKE '%".$search."%') OR ('%".$search."%'))   OR
      AND `folder_restriction` = '0'
    LIMIT 2000

Upvotes: 1

Views: 57

Answers (2)

Praveen Prasannan
Praveen Prasannan

Reputation: 7123

SELECT * 
     FROM mod_images
     LEFT JOIN mod_folders 
       ON folder_id = image_folder_id
     LEFT JOIN mod_cats 
       ON cat_id = folder_cat_id                    
    WHERE (((`folder_number` LIKE '%".$search."%') OR ('%".$search."%')) OR
          ((`titule` LIKE '%".$search."%') OR ('%".$search."%'))        OR
          ((`description` LIKE '%".$search."%') OR ('%".$search."%')))
      AND `folder_restriction` = '0'
    LIMIT 2000

Upvotes: 0

Rahul Tripathi
Rahul Tripathi

Reputation: 172448

Try this:-

SELECT * FROM mod_images
    LEFT JOIN mod_folders ON folder_id = image_folder_id
    LEFT JOIN mod_cats ON cat_id = folder_cat_id                    
    WHERE
     ((`folder_number` LIKE '%".$search."%') OR
     (`titule` LIKE '%".$search."%') OR
     (`description` LIKE '%".$search."%' ))
    AND `folder_restriction` = '0'
    LIMIT 2000

or try to remove the OR at the last:-

SELECT * 
 FROM mod_images
 LEFT JOIN mod_folders 
   ON folder_id = image_folder_id
 LEFT JOIN mod_cats 
   ON cat_id = folder_cat_id                    
WHERE (((`folder_number` LIKE '%".$search."%') OR ('%".$search."%')) OR
      ((`titule` LIKE '%".$search."%') OR ('%".$search."%'))        OR
      ((`description` LIKE '%".$search."%') OR ('%".$search."%')))   
  AND `folder_restriction` = '0'
LIMIT 2000

Upvotes: 1

Related Questions