In that case you can do something like this:

$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());




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" <[EMAIL PROTECTED]> wrote in message

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


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 ( To unsubscribe, visit:

Reply via email to