yes, this is true, we should add empty() function too. "Ross Honniball" <ross@xxxxxxxxxxxxxxxxxxx> wrote in message news:6.0.0.22.1.20040527095621.01be1ce0@xxxxxxxxxxxxxxxxxxxxxxx > I'm not 100% sure, but you may want to also check if the field is empty > (using empty() function) before including in your search. (in addition to > isset) > > Also, just a caution, you will need to take some care in figuring when and > where to place your 'and' statements linking the various parts of the query. > > At 08:01 AM 27/05/2004, you wrote: > >Nabil wrote: > > > > > "David Robley" <robleyd@xxxxxxxxxxxxxx> wrote in message > > > news:20040526113904.54450.qmail@xxxxxxxxxxxxxxx > > >> Nabil wrote: > > >> > > >> > hi all.... > > >> > > > >> > Is there a way to condition your search: > > >> > > > >> > -I have a form for four text boxes for search my Mysql... > > >> > -I don't want to write 4 conditions and for SQL statements incase he > > >> > decided not to search with all keywords (fields) > > >> > - I have by example : name, lastname , nickname and phone form... > > >> > I need a way to select my records even one or more field were null > > >> > (searching only on of the above) > > >> > > > >> > because the following SQL will generate null result > > >> > > > >> > > > >> > $name=$_POST['naame']; > > >> > $lastname=$_POST['lastname']; > > >> > $nickname=$_POST['nickname']; > > >> > $m_date=$_POST['m_dateY']; > > >> > echo $name.$lastname.$nickname.$m_date; > > >> > > > >> > "SELECT id, name , lastname , m_date from users > > >> > where > > >> > name like binary '%$name%' and lastname like binary '%$lastname%' and > > >> > nickname like binary '%$nickname%' and m_date= YEAR('$m_date') order > > > by > > >> > id ASC ") or die(mysql_error()); > > >> > > > >> > > > >> > > > >> > Thanks in advanced > > >> > > >> Use isset to test whether the POST values are set and only include in the > > >> query if there is a value. > > > > > thanks .. but my question is not for isset... i m thinking consider that i > > > have 10 search fields... if i have to do a combination then i need a day > > > to right the various SQL statements > > > >So do something like: > > > >$query = "SELECT id, name , lastname , m_date from users where 1 "; > >if (isset($_POST['name'])) { > > $query .= "AND name like binary '%{$-POST['name']}%' "; > >} > >if (isset($_POST['lastname'])) { > > $query .= "AND name like binary '%{$_post['lastname']}%' "; > >} > >//etc etc > >$query .= " order by id ASC "; > >$sql = mysql_query($query) or die(mysql_error()); > > > > > >-- > >David Robley > > > >Only cosmetologists give make-up exams. > > > >-- > >PHP Database Mailing List (http://www.php.net/) > >To unsubscribe, visit: http://www.php.net/unsub.php > > . > . Ross Honniball. JCU Bookshop Cairns, Qld, Australia. > . -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php