I have created a form where the user can search the database, and the result depends on how the user fills out the form.
For example, say I have name, address, city, sta
Try this:
if(isset($_POST['submit'])) {
// define the list of fields
$fields = array('name', 'address', 'city', 'state', 'zip');
$conditions = array();
// loop through the defined fields
foreach($fields as $field){
// if the field is set and not empty
if(isset($_POST[$field]) && $_POST[$field] != '') {
// create a new condition while escaping the value inputed by the user (SQL Injection)
$conditions[] = "`$field` LIKE '%" . mysql_real_escape_string($_POST[$field]) . "%'";
}
}
// builds the query
$query = "SELECT * FROM TABLE ";
// if there are conditions defined
if(count($conditions) > 0) {
// append the conditions
$query .= "WHERE " . implode (' AND ', $conditions); // you can change to 'OR', but I suggest to apply the filters cumulative
}
$result = mysql_query($query);