这里可能有点多问,但我想要的是一些简单的指导或PHP排序脚本的例子,以便我可以自己解决。PHP排序脚本
我有一个网店,我希望我的客户根据产品的价格或颜色等一些变量对产品进行分类。
我在我的网站左边建立了一个菜单,其中有复选框,用户可以在其中检查他们想要排序的变量。当他们选中一个框时,页面容器必须刷新,并且只有符合要求的产品必须可见。有关我想要实现的示例,请参阅http://amzn.to/ryeIjF。
请注意,我的产品的所有属性都存储在mysql数据库中。
这里可能有点多问,但我想要的是一些简单的指导或PHP排序脚本的例子,以便我可以自己解决。PHP排序脚本
我有一个网店,我希望我的客户根据产品的价格或颜色等一些变量对产品进行分类。
我在我的网站左边建立了一个菜单,其中有复选框,用户可以在其中检查他们想要排序的变量。当他们选中一个框时,页面容器必须刷新,并且只有符合要求的产品必须可见。有关我想要实现的示例,请参阅http://amzn.to/ryeIjF。
请注意,我的产品的所有属性都存储在mysql数据库中。
排序在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中,使用ORDER BY
ke你的SQL语句中的ywords
//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
这确实是我正在寻找的。在几个小时内,我会尝试在我们的网站上实现这一点,并看看如何使复选框调用函数:) – Forza 2011-12-21 19:15:18
我必须重新说明这一点。对于您希望执行的功能类型,最好在SQL端进行排序。它会产生更快的结果。 – Dutchie432 2011-12-22 10:11:18
PHP不应该为你排序。你可以只是向你的php脚本提出请求,动态地构建一个SQL查询过滤所选的值,并让你的db为你做分类!这就是它的制作和优化!
我不会投票,因为在大多数情况下,这是真的。但是,在高流量的站点中,通常需要将应用逻辑用于这种确切类型的事情,以便从数据库中卸载流量。 – sberry 2011-12-21 19:10:23
如果您的数据存储在MySQL数据库中,则只需在查询数据库时对其进行排序即可。 http://dev.mysql.com/doc/refman/5.0/en/order-by-optimization.html http://php.net/manual/en/function.sort.php 我认为,如果可能,更好的办法是处理数据源。
使用ORDER BY在SQL查询这样 ORDER BY产品 条款或者您可以按以后用 mysql_fetch_array($结果)方法
使用'ORDER BY FIELD1,FIELD2摆阵第一检索结果'在mysql中。 – piotrekkr 2011-12-21 18:44:51
看看http://stackoverflow.com/questions/777597/sorting-an-associative-array-in-php – macjohn 2011-12-21 18:49:57