Welcome Guest, Not a member yet? Register   Sign In
Count Records WITH AND WITHOUT LIMITATION... using Codiegniter Standard...
#1

Hi,


$this->db->select('*');
$this->db->from('payment_transaction');
if ($searchFilter<>"") {
$this->db->where("paymentMethod",$searchFilter);
$this->db->or_where("paymentId",$searchFilter);
$this->db->or_where("paymentState",$searchFilter);
}
////////////////////////////////// HERE I NEED, THE COUNT RECRODS IN THAT TABLE, WITHOUT LIMITATION.....
if ($startRec==0) {
$this->db->limit($limit);
}  else {
$this->db->limit($limit,$startRec);
}
$transcationQuery=$this->db->get();
////////////////////////////////// HERE I NEED, FETCH RECORDS WITH LIMITATION.....

Note: Please don't repeate the code....


   But this case, not working, Please solve this problem as soon as possible...
Reply
#2

See the MySQL Documentation on the COUNT()
What did you Try? What did you Get? What did you Expect?

Joined CodeIgniter Community 2009.  ( Skype: insitfx )
Reply
#3

Query Builder Caching provides one solution.

PHP Code:
$this->db
  
->start_cache()
 
 ->select('*')
 
 ->from('payment_transaction');
if(!empty(
$searchFilter))
{
 
   $this->db
      
->where("paymentMethod"$searchFilter)
 
     ->or_where("paymentId"$searchFilter)
 
     ->or_where("paymentState"$searchFilter);
}

//count the reccords the above returns
$total_records $this->db->get()->num_rows();

// It is assumed you are using $total_records to determine $startRec 
// your logic should allow the value to be zero if needed. Then...
$transcationQuery $this->db
  
->limit($limit$startRec)
 
 ->get();
$this->db
  
->stop_cache()
 
 ->flush_cache(); 

I'm a fan of Method Chaining as you can see by the way it is used for calls to $this->db.
Reply
#4

Please check your MySQL on the count()
Reply




Theme © iAndrew 2016 - Forum software by © MyBB