Forum Moderators: open
# HTML
<select name="category">
<option value="1">Product category 1</option>
...
</select>
<select name="price">
<option value="1">< $10</option>
<option value="2">$10 - $20</option>
<option value="3">> $20</option>
</select>
<select name="sort">
<option value="ASC">ascending</option>
<option value="DESC">descending</option>
</select>
# PHP / MySQL
// Check for fake entries
if (
is_numeric($_GET['category']) &&
is_numeric($_GET['price']) &&
($_GET['sort'] == "ASC" or $_GET['sort'] == "DESC")
) {
// Code for price, but remember TIMTOWDI
if ($_GET['price'] == "1") $price = "price < 10";
elseif ($_GET['price'] == "2")
$price = "price >= 10 AND price <= 20";
else $price = "price > 20";
// Write query
$query = sprintf("SELECT * FROM table WHERE category='%s' AND $price ORDER BY %s",
mysql_real_escape_string($_GET['category']),
mysql_real_escape_string($_GET['sort']));
$result = mysql_query($query) or die(mysql_error());
}
// Submitted a fake entry, give error
else echo "Error";