无法使用codeigniter查询计算条件的结果

时间:2013-01-31 09:31:29

标签: php mysql codeigniter

我正在尝试计算bookdetails表的行,其中display_id作为参数。说我通过$id='3'。但我没有得到输出。 我认为我尝试的代码是错误的。请帮我正确编写此查询

  //--- Counting the rows of bookdetails of table where display_id is as argument------------------------------------------------------------- 
 public function record_count_for_secondtopBooks($id) {
     $this->load->database(); 
    return $this->db->count_all("bookdetails",array('display_id'=>$id)); 
}

6 个答案:

答案 0 :(得分:4)

count_all返回特定

中的行数
echo $this->db->count_all('my_table');

试试这个

$this->db->where('display_id', $id);
$this->db->from('bookdetails"');
$this->db->count_all_results();

答案 1 :(得分:1)

count_all只接受一个参数,即表名。因此,您将获得该表中所有记录的计数。如手册中所述:

  

允许您确定特定表中的行数。   在第一个参数中提交表名。例如:

答案 2 :(得分:0)

试试这个,

$this->db->where('display_id', $id);
$query = $this->db->count_all('bookdetails');

return $query;

答案 3 :(得分:0)

请尝试以下代码

 public function record_count_for_secondtopBooks($id) {

$this->db->where('display_id',$id);
$q = $this->db->get('bookdetails');
return $q->num_rows();
}

答案 4 :(得分:0)

$this->db->where('display_id',$id);
$result = $this->db->count_all("bookdetails");

或链em'

$result = $this->db->where('display_id',$id)->count_all("bookdetails");

检查:

echo'<pre>';
print_r($result);
echo'</pre>';

答案 5 :(得分:0)

试试这个

public function record_count_with_where($table_name,$column_name,$type)
  {
    $this->db->select($column_name);
    $this->db->where($column_name,$type);
    $q=$this->db->get($table_name);
    $count=$q->result();
    return count($count);

  }