检索包含字符串的行的总量

时间:2014-10-14 01:36:45

标签: php mysql

我在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  

等...

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循环
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