MySQL / PHP:从数据库的一列中获取多个值


MySQL / PHP: Fetch multiple values from 1 column in Database

我试图从我的MySQL数据库中的1列选择多个值。我有一个表'产品'与列'类别'。类别:家居、花园、汽车、自行车等。我想获取这些类别的统计产品的数量。这听起来很简单,但我只能通过大量的代码来完成。我希望所有这些类别都是变量所以我只需要把变量放到统计引擎中进行计算。现在这是我的代码来获取产品的数量与类别'Garden':

$query = "SELECT * FROM products WHERE category='Garden'";
$result= mysql_query($query);
$row   = mysql_fetch_array($result);
echo "$row[category]";
在我看来,对每个类别都重复这样做是不对的。有人明白我的问题并有解决方案吗?

我想这就是你想要的

$query = "SELECT `category`, COUNT(`category`) FROM `products` GROUP BY `category`;";

try this

   $query = "SELECT *, count(*) as counts FROM products group by category";
   $result= mysql_query($query);
   while($row   = mysql_fetch_array($result))
   {
   echo $row['category']." ". $row['counts'];
   }

必须使用while来获取多个类别。

您需要按类别分组以获得不同的类别

使用while作为循环来获取数据

什么是While循环?

do while结构由进程符号和条件组成。首先,执行块内的代码,然后计算条件。如果条件为真,则再次执行块内的代码。这样重复,直到条件变为false。因为do while循环在块执行后检查条件,所以控制结构通常也被称为后测试循环。与while循环相反,while循环在执行块内的代码之前测试条件。do-while循环是一个退出条件循环。这意味着必须始终先执行代码,然后计算表达式或测试条件。如果为真,代码将再次执行循环体。只要表达式的计算结果为true,这个过程就会重复。如果表达式为false,循环终止,控制转移到do-while循环后面的语句。

只需使用下面的代码获取多个值。

$query = "SELECT * FROM products WHERE category='Garden'";
$result= mysql_query($query);
while($row=mysql_fetch_array($result))
{
echo "$row[category]<br>";
}