Page 1 of 1

2 WHERE clauses

Posted: Wed Feb 16, 2005 6:27 am
by Jim_Bo
Hey,

I have a search query that I also need to filter down to userid ..

Code: Select all

$sql = "SELECT id, userid, first_name, last_name, home_no, cell_no, work_no, email FROM address_book WHERE (first_name LIKE('$search%') OR last_name LIKE('%$search%')) ORDER BY first_name ASC";
But I also need to add:

Code: Select all

WHERE `userid` = '{$_SESSIONї'userid']}'
Not sure how to go about it ..

Thanks

Posted: Wed Feb 16, 2005 6:36 am
by n00b Saibot
(untested)

Code: Select all

$sql = "SELECT id, userid, first_name, last_name, home_no, cell_no, work_no, email FROM address_book WHERE (first_name LIKE('$search%') OR last_name LIKE('%$search%')) HAVING `userid` = '{$_SESSIONї'userid']}' ORDER BY first_name ASC";
Try if this works for you...

Re: 2 WHERE clauses

Posted: Wed Feb 16, 2005 6:39 am
by quarry_06
Jim_Bo wrote:Hey,

I have a search query that I also need to filter down to userid ..

Code: Select all

$sql = "SELECT id, userid, first_name, last_name, home_no, cell_no, work_no, email FROM address_book WHERE (first_name LIKE('$search%') OR last_name LIKE('%$search%')) ORDER BY first_name ASC";
But I also need to add:

Code: Select all

WHERE `userid` = '{$_SESSIONї'userid']}'
Not sure how to go about it ..

Thanks
I'd simply say:

Code: Select all

$sql = "SELECT id, userid, first_name, last_name, home_no, cell_no, work_no, email FROM address_book WHERE (first_name LIKE('$search%') OR last_name LIKE('%$search%')) AND `userid` = '{$_SESSIONї'userid']}' ORDER BY first_name ASC";

Posted: Wed Feb 16, 2005 7:34 am
by Maugrim_The_Reaper
As above - place OR expressions in brackets to force the order of evaluation. Same as in basic maths...:)

Posted: Wed Feb 16, 2005 7:59 am
by timvw
in math you also have

(a and b) or (c and b) <=> (a or c) and b

Posted: Wed Feb 16, 2005 8:40 am
by Maugrim_The_Reaper
As I said - basic maths... :wink:

Posted: Wed Feb 16, 2005 1:17 pm
by Jim_Bo
Hey,

Thanks guys ..

Code: Select all

$sql = "SELECT id, userid, first_name, last_name, home_no, cell_no, work_no, email FROM address_book WHERE (first_name LIKE('$search%') OR last_name LIKE('%$search%')) HAVING `userid` = '&#123;$_SESSION&#1111;'userid']&#125;' ORDER BY first_name ASC";
seems to work


Thanks

Posted: Thu Feb 17, 2005 12:11 am
by n00b Saibot
Heh Heh Heh 8)