$s_where = ''; foreach (array('name', 'lastname', 'nickname') as $e) { $s_where .= (!empty($s_where) ? ' AND ' : '' ) . (!empty($_REQUEST[$e]) ? "$e='$_REQUEST[$e]'" : '' ); }
$result = mysql_query("SELECT id, name , lastname , m_date from users " . (!empty($s_where) ? " WHERE " . $s_where : '' )) or die(mysql_error());
HTH!
Regards,
Amit www.digitalamit.com
Nabil wrote:
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
"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;
$sql = mysql_query("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.
-- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php