How can one handle optional filter fields in a PHP query to avoid errors when no selection is made?

When dealing with optional filter fields in a PHP query, you can dynamically build the query based on which filters are actually selected by the user. This can be done by checking if a filter value is set before including it in the query. By doing this, you can avoid errors when no selection is made for a particular filter field.

// Sample code snippet to handle optional filter fields in a PHP query

// Initialize an empty array to store the conditions
$conditions = [];

// Check if a filter value is set and add it to the conditions array
if(isset($_POST['filter1']) && !empty($_POST['filter1'])) {
    $conditions[] = "column1 = '" . $_POST['filter1'] . "'";
}

if(isset($_POST['filter2']) && !empty($_POST['filter2'])) {
    $conditions[] = "column2 = '" . $_POST['filter2'] . "'";
}

// Build the query based on the conditions array
$query = "SELECT * FROM table";

if(!empty($conditions)) {
    $query .= " WHERE " . implode(" AND ", $conditions);
}

// Execute the query
// mysqli_query($connection, $query);