sql 计数显示数

sql count display number

简单问题: 我正在使用 Codeigniter 和 MySQL 数据库。 我目前在我的数据库中有一个名为 "profiles" 的 Table 来存储每个用户的信息。 回到正轨,我需要在 HTML table 中显示每个位置注册的用户数量('location' 是我的 'profiles' table 中的字段之一).

到目前为止,我已经试过了: 型号:

    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(related line),我需要它显示为Asia | 1(1 是示例结果)

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

您错过了 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'];
}
$query = $this->db->query("SELECT COUNT(*) FROM profiles WHERE location = 'Asia'");

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