我有一班鞋子,由ID,品牌,价格,尺寸组成。 另外,我已经有一个sql数据库,可以从中获取鞋子的数据。
我创建一个具有6列的视图类Shoes。前面提到的4个和另外两个带有剩余可用鞋子的数量,另一个带有“购买”按钮。
我希望view_shoes中的表格以品牌的字母顺序显示鞋子。这样我就可以
1.Adidas
2.Geox
3.Puma
4.Reebok.
而不是
1.Reebok
2.Puma
3.Adidas
4. Geox
我找不到太多的信息。我找到了usort
,asort
之类的函数,但是我不知道如何实现它们。
这是鞋子的功能。
public static function shoes() {
$query = self::execute("SELECT * FROM shoes", array());
$data = $query->fetchAll();
$shoes = [];
foreach ($data as $row) {
$shoes[] = new shoe($row['id'], $row["brand"], $row["price"], $row["size"]);
}
return $shoes;
}
答案 0 :(得分:2)
在查询中的ORDER BY
列中使用brand
。
$query = self::execute("SELECT *
FROM shoes
ORDER BY brand ASC"
, array());
答案 1 :(得分:1)
您可以修改SQL查询以应用排序
SELECT * FROM shoes
替换为
SELECT * FROM shoes ORDER BY brand ASC
或者如果sort()
是数组,则可以在$shoes
上使用$shoes
函数
sort($shoes);
答案 2 :(得分:0)
编写自定义比较器进行排序。
usort($shoes,function ($a,$b){
return strcmp($a->brand,$b->brand);
//return strcmp($a['brand'],$b['brand']);
})