我想创建一个产品列表,并通过在菜单上选择不同的过滤器选项对它们进行排序,就像这里的一样:http://www.newegg.com/Store/SubCategory.aspx?SubCategory=124&IsSingle=1&Category=24&name=Network-Storage-NAS
用php和javascript编程有多难?
讨论如何设计这样一个系统可能有点复杂,但这很容易完成ORDER BY
在PHP和MySQL:
$order = $_GET['order'];
if ($order)
{
switch ($order)
{
case 'p':
$order = 'price';
break;
case 'n':
$order = 'name';
break;
case 'r':
$order = 'rating';
break;
default:
$order = 'price';
break;
}
}
$Sql = "SELECT product_name, price, rating FROM products ORDER BY $order ASC";
// do your SQL stuff here
在HTML和Javascript中,你可以这样做:
<select name="filter" onchange="window.location.href='filter.php?order='+this.value">
<option value="p">Price</option>
<option value="n">Name</option>
<option value="r">Rating</option>
</select>
这只是一个想法,但这可以改进成更好的方法。
如果你谈论new egg和大多数其他网站的排序功能,如果你知道SQL和PHP,这很容易。产品数据存储在数据库中,当排序菜单发生更改时,将进行表单提交或ajax调用。该值通常也存储在会话中,以便在以后的页面中使用,作为客户浏览结果的页面。排序顺序用于设置从数据库检索数据的SQL查询中的order BY子句。