2015-04-16 4 views
0

Я хотел бы сохранить значение после отправки (поле поиска), поэтому я использую set_value();
, и я сохраняю значение.
, но после этого я нажимаю ссылку (pagination), которая направляет меня на следующую страницу, я не могу сохранить значение, потому что я не нажал кнопку отправки, так как я могу сохранить значение, не нажав кнопку отправки еще раз?Как сохранить значение после отправки

Посмотреть

<?php 
    $attr_form= array(
    'class'  => 'form-horizontal', 
    'role'  => 'form'   
    ); 
    echo form_open('dipanddig/search', $attr_form); 
    echo '<div class="input-group search-box-width">'; 
    echo form_input('search', set_value('search'), 'class="form-control search-box-height"'); 
    echo '<span class="input-group-btn">'; 
    echo '<button type="submit" class="btn btn-default search-box-height">'; 
    echo '<span class="glyphicon glyphicon-search">'; 
    echo '</span>'; 
    echo '</button>'; 
    echo '</span>'; 
    echo form_close(); 
    echo '</div>'; 
?> 

Контроллер

function search(){ 

     $this->load->library('pagination'); 

     $data['base_url'] = 'http://localhost:100/dipanddig/dipanddig/search'; 
     $data['total_rows'] = $this->db->select('name')->like('name', $this->input->post('search'))->get('clothes')->num_rows(); 
     $data['per_page'] = 1; 
     $data['num_links'] = 2; 
     $data['records'] = $this->db->select('id,price,name')->like('name', $this->input->post('search'))->get('clothes',$data['per_page'],$this->uri->segment(3)); 

     $this->pagination->initialize($data); 

     $this->load->view('products', $data); 
    } 

Большое вам спасибо за помощь.

+0

Вы пытались установить переменную сеанса? –

ответ

1
  1. После отправки формы вы должны «запомнить» запрос. Для этого используйте сеанс.
  2. Внутри метода поиска значения использования запроса из сессии
  3. Добавить кнопку «Очистить» к форме поиска

    function search() 
    { 
        $this->load->library('pagination'); 
        // add this 
        $this->load->library('session'); 
        if ($this->input->post('search')) { 
         $this->session->set_userdata('search' => $this->input->post('search')); 
        } 
    
        $data['base_url'] = 'http://localhost:100/dipanddig/dipanddig/search'; 
        $data['total_rows'] = $this->db->select('name')->like('name', $this->session->userdata('search'))->get('clothes')->num_rows(); 
        $data['per_page'] = 1; 
        $data['num_links'] = 2; 
        $data['records'] = $this->db->select('id,price,name')->like('name', $this->session->userdata('search'))->get('clothes',$data['per_page'],$this->uri->segment(3)); 
    
        $this->pagination->initialize($data); 
        $this->load->view('products', $data); 
    } 
    

HTTP является протоколом без. Попытайтесь ознакомиться с конвенцией.

пс. Вы также можете установить значение формы из сеанса, чтобы повысить эффективность пользователя.

+0

Спасибо, это хорошо работает. Надеюсь, я смогу проголосовать за тебя, но я не могу. –

Смежные вопросы