0

まだ PHP と Codeigniter に慣れていませんが、ページネーションを使用して、コントローラーからモデルに検索語パラメーターを渡す際に問題が発生しています。

完全に機能するスクリプト (ページネーション付き) が既に動作しています... ただし、入力ポスト検索語をモデルに含めようとすると、すべてが台無しになります (または、すべてが台無しになります)。

作業スクリプト - コントローラー:

    public function search()
    {
$this->load->model('Products_model');
$config['base_url'] = base_url() . '/products/search/';
$config['total_rows'] = $this->db->count_all('affiliate_window');
$config['per_page'] = 25;
$config['uri_segment'] = 3;
$this->pagination->initialize($config);
$data['offset_no'] = $this->uri->segment(3);
$data['items'] = $this->Products_model->get_search($config['per_page'], $data['offset_no']);
$this->load->view('header_view');
$this->load->view('products_view', $data);
$this->load->view('footer_view');
    }

作業スクリプト - モデル:

                function get_search($limit, $offset)
                {
$query = $this->db->get('mydb', $limit, $offset);
return $query->result();
                }

では、$this->input->post('search_term'); を渡す方法についてアドバイスがあれば教えてください。Controller から私のモデルまで、次のように使用します。

                function get_search($limit, $offset)
                {
$this->db->like('name', '$SEARCHTERM');
$query = $this->db->get('mydb', $limit, $offset);
return $query->result();
                }

さらに、次は各ページで検索用語を可変にしておくという問題に直面すると思います。

どんなアドバイスでも大歓迎です - 私は何時間もこれに取り組んできましたが、結果はありません! :)

4

1 に答える 1

0

したがって、ページ付けコードと他のすべてのコードは「無関係」であることを理解してください。つまり、他のコードが機能する必要はありません。

他のパラメーターと同様に、検索語をモデル関数に渡し、クエリで検索します。limit と offset は、現在行っているように、クエリの最後にタグ付けするだけです。

したがって、「myterm」を検索する場合は、次のクエリを作成するだけです。

WHERE term = "myterm" LIMIT offset, limit

実際に何をしているのか頭に入れれば、それは本当にとても簡単です

于 2013-10-23T22:42:40.430 に答える