PHP排序脚本

时间:2011-12-21 18:41:36

标签: php mysql

这可能有点问这里,但我想要的是一些简单的方向或PHP排序脚本的例子,以便我可以自己解决。

我有一个网店,我希望我的客户根据价格或产品颜色等变量对产品进行分类。

我正在我网站左侧构建一个菜单,其中包含复选框,人们可以在其中查看要排序的变量。检查框时,页面容器必须刷新,只有符合要求的产品必须可见。有关我想要实现的示例,请参阅http://amzn.to/ryeIjF

请注意,我的产品的所有属性都存储在mysql数据库中。

5 个答案:

答案 0 :(得分:3)

在PHP中对多维数组进行排序实际上并不太难......我认为这就是你要做的事情(按价格,受欢迎程度,最新等等排序)。

假设多维数组$itemsArray

的结构如下
{[
    {
      "id" : "2643",
      "name" : "Leather Jacket",
      "price" : "249.99"
    },
    {
      "id" : "2645",
      "name" : "Suede Jacket",
      "price" : "289.99"
    },
    ...
]}

这可以像......一样排序。

usort($itemsArray, 'sortItemsByPrice');

function sortItemsByPrice($objA, $objB) {
    //This function returns a -1, 0, or 1 depending on the order  
    //of object A and Object B

    $aVal=$objA['price'];
    $bVal=$objB['price'];
    if ($a == $b) {  
        //or maybe sort on a secondary field
        return 0;    
    }
    return ($a < $b) ? 1 : -1;      
} 

<强>无论其

如果可以直接在SQL中排序,请使用SQL语句中的ORDER BY关键字

进行排序
//Order by price, lowest->highest
SELECT id,name,price FROM products ORDER BY price

//Order by price, highest->lowest
SELECT id,name,price FROM products ORDER BY price desc

答案 1 :(得分:2)

如果您的数据存储在MySQL数据库中,您可以在查询数据库时对它们进行排序。 http://dev.mysql.com/doc/refman/5.0/en/order-by-optimization.html http://php.net/manual/en/function.sort.php 我认为,如果可能的话,更好的是从源头处理数据。

答案 2 :(得分:1)

PHP不应该为你做排序。你可以向php脚本发出请求,建立一个SQL查询,动态过滤所选的值,并让你的db为你做排序!这就是它的制作和优化!!!

答案 3 :(得分:0)

答案 4 :(得分:0)

在SQL查询中使用Order By 子句,如下所示 订购产品 或者您可以稍后通过首先使用数组检索结果集进行排序     mysql_fetch_array($ result)方法