gpt4 book ai didi

mysql - 显示数据从最高值排序

转载 作者:行者123 更新时间:2023-11-29 06:55:59 26 4
gpt4 key购买 nike

我有一个带有一些条件的商品价格表。这里我尝试显示按类别和价格排序的商品数量。

代码片段:

<?php
include_once 'db.php';

$price = 'Price : $10';
$sql = $DBcon->query("SELECT DISTINCT category FROM mytable WHERE article LIKE '%{$price}%' LIMIT 10");

while ($Row = $sql->fetch_array()) {
$category = "PROMO";
$Total = $DBcon->query("SELECT title FROM mytable WHERE article LIKE '%{$price}%' AND category='".$category."'");
$item = $Total->num_rows;

echo "<li><a href='/tag/". $category ."'>". $category ."</a> (" . $item . " item)</li>";
}
?>

上面的代码对我来说工作得很好,但有一个问题。

数据库中的实际数据是:

  • 衣服:23 件
  • 裤子:19 件
  • 夹克:4 件
  • 衬衫:11 件
  • 包袋:7 件
  • 然后..

我想根据最多项目数显示类别。但上面脚本代码的结果显示是随机的。即使是大多数项目有时也不会出现。

我知道我的代码有问题,但不知道如何修复它。请帮助我。

最佳答案

我发现您没有使用聚合函数,我认为您应该更改查询以获取类别计数并按计数排序。

您的代码应类似于:

<?php
include_once 'db.php';

$price = 'Price : $10';
$sql = $DBcon->query("SELECT category, COUNT(*) as CNT FROM mytable WHERE article LIKE '%{$price}%' GROUP BY category ORDER BY CNT DESC");

while ($Row = $sql->fetch_array()) {
$category = $Row["category"];
$item = $Row["cnt"];

echo "<li><a href='/tag/". $category ."'>". $category ."</a> (" . $item . " item)</li>";
}
?>

关于mysql - 显示数据从最高值排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45596841/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com