MySQL / PHP:从Database中的1列中获取多个值

时间:2014-07-02 16:10:10

标签: php mysql sql categories fetch

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

的产品数量
$query = "SELECT * FROM products WHERE category='Garden'";
$result= mysql_query($query);
$row   = mysql_fetch_array($result);

echo "$row[category]";

对每个类别重复这一点似乎对我不对。有人理解我的问题并有解决方案吗?

3 个答案:

答案 0 :(得分:3)

我认为这就是你想要的

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

答案 1 :(得分:0)

试试这个

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

您需要按类别分组才能获得不同的类别。

答案 2 :(得分:-1)

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

什么是While Loop?

do while构造由过程符号和条件组成。首先,执行块内的代码,然后评估条件。如果条件为真,则再次执行块内的代码。这种情况一直持续到条件变为假。因为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>";
}