sql count显示数量

时间:2015-01-14 05:45:29

标签: php html mysql codeigniter

简单问题: 我正在使用Codeigniter和MySQL数据库。 我目前在我的数据库中有一个名为“profiles”的表来存储每个用户的信息。 回到正轨,我需要在HTML表格中显示每个位置注册的用户数量(“位置”是我的“个人资料”表中的一个字段)。

到目前为止,我已尝试过这个: MODEL:

    function asia_count()
{
    $query = "SELECT COUNT(*) FROM profiles WHERE location = 'Asia'";
    return $query;
}

控制器:

public function admin_m_reports_users_loc()
{
    $data['asia_count'] =$this->help_model->asia_count();
    $this->load->view('squidtopus1-admin-reports-users-location',$data);
}

查看: (相关行:):

    <tr>
  <td><a href="#">Asia</a></td>
  <td><?php echo $asia_count; ?></td>
  </tr>

关于VIEW(相关行),我需要它显示为亚洲| 1(1是示例结果)

...但我不能追查我哪里出错了。有人可以指出我正确的方向吗? 非常感谢。

2 个答案:

答案 0 :(得分:1)

$query = $this->db->query("SELECT COUNT(*) FROM profiles WHERE location = 'Asia'");

if ($query->num_rows() > 0)
 {
$row = $query->row_array(); 
echo $row['COUNT(*)'];
}

答案 1 :(得分:0)

您错过result()result_array()。您可以尝试这个,使用此代码作为您的模型。

function asia_count()
{
    $query = "SELECT COUNT(*) as Total FROM profiles WHERE location = 'Asia'";
    $result = $query->result_array();
    return $result[0]['Total'];
}

如果您想要列出所有位置数,您可以试试这个

模型

function asia_count()
{
    $query = "SELECT location, COUNT(*) as Total FROM profiles GROUP BY location";
    return $query->result_array();
}

查看

foreach ($lists as $index => $row) {
    echo $row['location'] . ':' . $row['Total'];
}