我有一个查询,它遍历表并输出如下数据:
查询$query = mysql_query("SELECT * FROM `products`");
while($row = mysql_fetch_assoc($query)){
$array[] = $row;
}
foreach ($array as $key) {
$name[] = $key['name'];
$desc[] = $key['desc'];
$cost[] = $key['price'];
}
$c = 0;
while($c<(count($array))){
echo 'Name: '.$name[$c].'<br>';
echo 'Desc: '.$desc[$c].'<br>';
echo 'Price: '.$cost[$c].'<br><br>';
$c++;
}
结果名称:xyz1
描述:asdxsadasda
价格:999名称:xyz2
描述:asdxsadasda
价格:333名称:xyz3
描述:asdxsadasda
价格:666
我希望能够根据每个项目的价格对这些结果进行排序。
我可以在jSON文件中输出结果并使用该文件对结果进行排序(live-无需加载页面)吗?
你能给我一个更好的方法来排序结果而不必加载页面吗?
如果您必须在PHP中对数组进行排序,在您获得查询结果后,使用PHP中的array_multisort
函数(http://www.php.net/manual/en/function.array-multisort.php)
然而,如果你的生活不依赖于在PHP中排序,在你的SQL源排序(上帝希望的方式),它将会快得多,它将减轻web服务器的负载。
$query = mysql_query("SELECT * FROM `products` WHERE `category` order by products.price, products.name");
选择按ASC或DESC排序
SELECT * FROM `products` order by price, name
也不需要foreach,因为可以在while循环中进行数组设置。