これまでのところ、get(table)
コマンドのページネーションを取得するのに大いに役立ちました。codeigniterクエリのページ番号
私が必要とするのは、SQLのwhere文に基づいて、いくつかのリンクテーブルからエントリのほんの少数を選ぶことです。
私はquery
コマンドを使用する1つであると思いますが、そのコマンドが任意のより多くの情報がなければ助け
これまでのところ、get(table)
コマンドのページネーションを取得するのに大いに役立ちました。codeigniterクエリのページ番号
私が必要とするのは、SQLのwhere文に基づいて、いくつかのリンクテーブルからエントリのほんの少数を選ぶことです。
私はquery
コマンドを使用する1つであると思いますが、そのコマンドが任意のより多くの情報がなければ助け
のために、このような$config['per_page']
おかげで余分なパラメータを取らないので、この場合には、どのように改ページをしますか私があなたが探しているものは、次のようなものだと思う。
public function pagination_example($account_id)
{
$params = $this->uri->ruri_to_assoc(3, array('page'));
$where = array(
'account_id' => $account_id,
'active' => 1
);
$limit = array(
'limit' => 10,
'offset' => (!empty($params['page'])) ? $params['page'] : 0
);
$this->load->model('pagination_model');
$data['my_data'] = $this->pagination_model->get_my_data($where, $limit);
foreach($this->uri->segment_array() as $key => $segment)
{
if($segment == 'page')
{
$segment_id = $key + 1;
}
}
if(isset($segment_id))
{
$config['uri_segment'] = $segment_id;
}
else
{
$config['uri_segment'] = 0;
}
$config['base_url'] = 'http://'.$_SERVER['HTTP_HOST'].'/controller_name/method_name/whatever_your_other_parameters_are/page/';
$config['total_rows'] = $this->pagination_model->get_num_total_rows();// Make a method that will figure out the total number
$config['per_page'] = '10';
$this->load->library('pagination');
$this->pagination->initialize($config);
$data['pagination'] = $this->pagination->create_links();
$this->load->view('pagination_example_view', $data);
}
// pagination_model
public function get_my_data($where = array(), $limit = array())
{
$this->db
->select('whatever')
->from('wherever')
->where($where)
->limit($limit['limit'], $limit['offset']);
$query = $this->db->get();
if($query->num_rows() > 0)
{
$data = $query->result_array();
return $data;
}
return FALSE;
}
これはあなたが少しより特異的であることができる場合、私は多くを助けて幸せいただきたい求めているものではない場合、これは、少なくとも右のトラック であなたを取得する必要があります。どのようにあなたのコードのいくつかについて。
私が考えることができる唯一の選択肢は、selectステートメントでカウントをコーディングするか、クエリを制限しないでarray_sliceを使用して返された配列の一部を選択することです。
私の最大の問題は、$ config ['total_rows']を設定する方法です。私はデータベースを2回クエリしなければならないという気持ちがあります。一度は制限なしで($ config ['total_rows']を取得するため)、もう一度ディスプレイの制限で2回目です。それは非効率的に聞こえる。そうですか? – salmane
はいそうです。 2つのクエリ。 – trix