Re: Multi search function (help)
| From: | Amit Arora | Date: | Tue, 22 Jun 2004 04:45:00 +0000 |
| Subject: | Re: Multi search function (help) | ||
| References: | 1 2 3 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-34860@lists.php.net to get a copy of this message | ||
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());
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@ozemail.com.au> wrote in message news:20040526113904.54450.qmail@pb1.pair.com...Nabil wrote:byhi 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') orderid ASC ") or die(mysql_error()); Thanks in advancedUse isset to test whether the POST values are set and only include in the query if there is a value.