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

MySQL/PHP:从数据库中的一列获取多个值,php,mysql,sql,categories,fetch,Php,Mysql,Sql,Categories,Fetch,我试图从MySQL数据库的一列中选择多个值。我有一个“products”表,其中有一列“category”。类别:家庭、花园、汽车、自行车等。我想获取这些类别的产品数量进行统计。这听起来很简单,但我只能通过分配代码来完成。我希望所有这些类别都是变量,所以我只需将变量放入统计引擎中即可进行计算。现在,这是我获取“Garden”类别产品数量的代码: $query = "SELECT * FROM products WHERE category='Garden'"; $result= mysql_qu

我试图从MySQL数据库的一列中选择多个值。我有一个“products”表,其中有一列“category”。类别:家庭、花园、汽车、自行车等。我想获取这些类别的产品数量进行统计。这听起来很简单,但我只能通过分配代码来完成。我希望所有这些类别都是变量,所以我只需将变量放入统计引擎中即可进行计算。现在,这是我获取“Garden”类别产品数量的代码:

$query = "SELECT * FROM products WHERE category='Garden'";
$result= mysql_query($query);
$row   = mysql_fetch_array($result);

echo "$row[category]";
在我看来,对每一个类别重复这一点是不对的。。有人理解我的问题并有解决办法吗?

试试这个

   $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来获取多个类别


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

我想这就是你想要的

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

只需使用一段时间作为循环来获取数据

While循环是什么?

do while构造由一个进程符号和一个条件组成。首先,执行块中的代码,然后计算条件。如果条件为真,则再次执行块中的代码。此操作将重复,直到条件变为false。由于do while循环在执行块后检查条件,因此控制结构通常也称为测试后循环。与while循环相反,while循环在执行块中的代码之前测试条件。do while循环是一个退出条件循环。这意味着必须始终首先执行代码,然后计算表达式或测试条件。如果为true,代码将再次执行循环体。只要表达式的计算结果为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>";
}
$query=“从class='Garden'类别的产品中选择*”;
$result=mysql\u query($query);
while($row=mysql\u fetch\u数组($result))
{
回显“$行[类别]
”; }
表设计的可能重复看起来有些非规范化,因为在本例中,“category”字段的值将跨行重复。“Try this”表示您不确定这是否确实是一个答案。你能再解释一下吗?