I am having a problem with this script what it does is write the sql
needed to search for data based on mutable criteria. It works fine if
you search with all the different fields but if you only search with
one or two of the fields it creates a sql that looks like this
SELECT * FROM listing WHERE state = 'WA' AND LIMIT 0,5
It adds the AND before the limit if you use all three fields it does
not add the AND. How can I change this so it will not add the AND if
there is only a search on one or two of the fields


$cond = "AND";
$sql = 'SELECT * FROM listing ';
if($_POST["state"] != "" || $_POST["types"] != "" || $_POST["county"] != 
""){$sql .= "WHERE ";

if($_POST["state"] != ""){
$sql .= "state  = '". $_POST["state"] ."'";
if($_POST["state"] != "" || $_POST["types"] != "" || $_POST["county"] != 
""){$sql .= " $cond ";}
}

if($_POST["type"] != ""){
$sql .= "types = '". $_POST["types"] ."'";
if($_POST["state"] != "" || $_POST["types"] != "" || $_POST["county"] != "") 
{$sql .= " $cond ";}
}

if($_POST["county"] != ""){
$sql .= "county = '". $_POST["county"] ."'";
if($_POST["state"] != "" || $_POST["types"] != "" || $_POST["county"] != 
""){$sql.= " $cond "; }
}
)
$sql .= " LIMIT " . $from . "," . $max_results;
echo $sql
-- 
Best regards,
 Richard                          mailto:[EMAIL PROTECTED]

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to