2011-12-03 80 views
2

我想计算表中的行数。该表有一个fk'city_id'。我想要统计符合特定条件的行数,并且想要回显数字。如何计算CodeIgniter框架中的表中的行数?

我试着用下面的代码:

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> 

在我的模型我试图计算的NUM我的'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那么一点点的帮助,将不胜感激。

在此先感谢。

回答

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为你做。

+0

可以ü请举一个简单的example.thanks – newbee

0

你应该去哪儿像

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