如何使用具有排序功能的菜单创建产品列表?

时间:2011-04-28 08:42:44

标签: javascript php html

我想创建一个产品列表,并通过在菜单上选择不同的过滤器选项对其进行排序,例如:http://www.newegg.com/Store/SubCategory.aspx?SubCategory=124&IsSingle=1&Category=24&name=Network-Storage-NAS

使用php和javascript编程这有多难?

2 个答案:

答案 0 :(得分:1)

讨论如何设计这样的系统可能有点复杂,但这可以通过PHP和MySQL中的ORDER BY轻松完成:

$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>

只是一个想法,但这可以改进到更好的方法。

答案 1 :(得分:0)

如果您在新蛋和大多数其他网站上讨论排序功能,那么如果您了解SQL和PHP就很容易了。产品数据存储在数据库中,并在更改排序菜单时进行表单提交或ajax调用。该值通常也存储在会话中,以便在客户通过结果页面时在后续页面上使用。排序顺序用于在SQL查询中设置ORDER BY子句,以从数据库中检索数据。这就是你完成这一切所需的一切。