Jump to content

A JOIN using WHERE, AND, OR and parentheses


facarroll

Recommended Posts

I have a search box which sets a choice out of three "sounds like" inputs. The variable which represents these is $strInfo .

It should work but doesn't select anything, though there is no error message. I suspect the problem might be "AND WHERE".

$sql = "SELECT quiz.*, users.id, users.userGroup, users.family, users.given 
FROM quiz,users 
WHERE quiz.userIdRec=users.id 
AND WHERE (quiz.quizTitle LIKE '%".$strInfo."%' OR quiz.userId LIKE '%".$strInfo."%' OR quiz.userGroup LIKE '%".$strInfo."%')
AND quiz.managerId = '1' 
AND users.userGroup != 'exStudent' 
ORDER BY users.family, users.given, quiz.quizTitle quiz.addDate, quiz.passState ASC ";

Can anyone suggest a correction?

Link to comment
Share on other sites

Thanks to pbs. This worked.

$sql = "
	  SELECT quiz.*, users.id, users.userGroup, users.family, users.given  
	  FROM quiz, users
	  WHERE quiz.userIdRec = users.id
	  AND (quiz.quizTitle LIKE '%".$strInfo."%' OR quiz.userId LIKE '%".$strInfo."%'  OR quiz.userGroup LIKE '%".$strInfo."%') 
	  AND quiz.managerId = '".$userid."' 
	  AND users.userGroup != 'exStudent' 
	  ORDER BY users.family, users.given, quiz.quizTitle, quiz.addDate, quiz.passState  ASC ";

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.