我在MySQL中有一个表,在列中有5个(类型)可能的值'类型' ...我说的有点因为数据类型是' set' 1种类型有一个子类别...它适用于某种类型的财产,因此可能的类型是零售,办公,酒店,工业,住宅(多家庭),住宅(单一家庭)。
我试图对结果进行分页,我需要知道每个页面应该有多少页。所以我需要一个查询,告诉我表中每种类型有多少,用户可以选择住宅作为一个类别,或单个,多个作为子类别。
我无法弄清楚如何进行查询,告诉我每个有多少,或者如何检索这些数字作为变量,我可以用它来划分每页的项目。
id | type
-----------------------
1 | office
2 | residential,single
3 | industrial
4 | residential,multi
5 | retail
6 | office
7 | hospitality
8 | residential,single
等...
所以如果这是数据,我需要得到:
$office = 2
$residential = 3
$industrial = 1
$single = 2
等...
答案 0 :(得分:0)
使用array_count_values()
功能
检查链接http://php.net/manual/en/function.array-count-values.php
从他们的网站http://php.net/manual/en/function.array-count-values.php;
并尝试此代码
<?php
$query= // Run your select query.
$result= mysqli_query($link, $query);
//Run the while loop
while($row= mysqli_fetch_array($result))
{
$array[]=$row['Column_Name'];//Store the result in array
}
$count = array_count_values($array);//Use array count
print_r($count);//See the result
或者,如果您看到“按照您想要的方式”
在$count
数组
foreach($count as $key => $value) {
//Get the out put From new array
echo $value .' '. $key.'<br/>' ;
}
答案 1 :(得分:0)
计数和分组应该可以解决问题;
SELECT id, type, COUNT(*) as count
FROM mytable
GROUP By id