如何计算CodeIgniter框架中表中的行?

时间:2011-12-03 16:03:15

标签: php sql database codeigniter

我正在尝试计算表格中的行数。该表有一个fk'nity_id'。我想计算符合特定条件的行数,并希望回显该数字。

我尝试过使用以下代码:

function count(){

  $citys = $this->db->get('city');

  foreach ($citys->result() as $city) {

    $this->db->where('info', array('city_city_id'=>$city->city_id) AND status_status_id==1);
    $sql = $this->db->count_all('info');

  }

  return  $sql->result;
} 

控制器:

  $data['city'] = $this->state_model->count();
  $this->load->view('sview', $data);

查看:

 <?php foreach($citys as $cities):?>
        <h4><?php echo $city ?>
      <?php endforeach;?></br></br>

在我的模型中,我试图在我的'info'表中计算行数,例如city_city_id = 1和status_status_id = 1。  但是我收到了以下错误:

   Severity: Notice

 Message: Use of undefined constant status_status_id - assumed 'status_status_id'

 Filename: models/State_model.php

 Line Number: 98

在第98行我有

         $this->db->where('info', array('city_city_id'=>$city->city_id) AND                    status_status_id==1);

我刚刚与codeigniter合作,所以我们将不胜感激。

提前致谢。

2 个答案:

答案 0 :(得分:7)

这应该让你前进:

$this->db->where('city_id', $city_id);
$this->db->from('city');
return $this->db->count_all_results();

返回一个整数。 CodeIgniter Active Record

您不能在PHP中使用SQL查询,这就是AND打破它的原因。您不需要使用AND加入查询,CodeIgniter会为您执行此操作。

答案 1 :(得分:0)

你应该去哪里

    $this->db->where('info', array('city_city_id'=>$city->city_id, 
'status_status_id'=>'1'));