2012-04-08 20 views
0

Ich habe Suche mit Seitenumbruch implementiert. Reglerfunktion `public function search() { Codeigniter Suche mit Paginierung

if($_POST) 
    { 
     $search_name=$this->input->post('search_name'); 
     $config['base_url'] = 'search'; 
     $config['total_rows'] = 15;//$this->registration_model->record_count(); 
     $config['per_page'] = 4; 
     $config["uri_segment"] = 3; 
     $config['use_page_numbers'] = TRUE; 
     $this->pagination->initialize($config); 
     $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0; 
     $data['result']=$this->institute_model->search_result($config["per_page"],$page,$search_name); 
     $data['links'] = $this->pagination->create_links(); 
     $this->load->view('institute/search',$data); 
    } 
}` 

Und Code Modell Funktion ist

public function search_result($limit,$start,$search_name) 
{ 
    $this->db->limit($limit, $start); 
    $this->db->select('user_id'); 
    $this->db->where('category',1); 
    $this->db->like('first_name',$search_name); 
    $query = $this->db->get('registration'); 
    if ($query->num_rows() > 0) { 

     foreach ($query->result() as $row) { 

      $data[] = $row; 

     } 

     return $data; 

    } 

    return false; 




} 

ich von der Registrierung Tabelle bin auf der Suche Benutzer-ID und mit fname usw. Suche auf Benutzernamen basiert. Es funktioniert für mich, aber wenn ich Seite 2 auf Seitenumbruch klicke, geht es zu http://localhost/mypro/index.php/institute/search/2 und geht leer.

+5

Gut. Was hat es bisher gemacht? Oder Sie wollen nur ein fertiges Skript? –

+0

Folgen Sie dieser Anleitung: http://www.w3schools.com/php/php_ajax_livesearch.asp Wenn Sie auf irgendwelche Probleme stossen, machen Sie zuerst eine Recherche, wenn Sie immer noch keine Lösung finden, fragen Sie hier, auch in Ihrem Frage, was du bisher versucht hast. – alxbrd

Antwort

0

Verwenden Plugin Jquery Pagintation

Add jquery vor dem Laden Ansicht.

//Define model function with limit 
public function modelFunction($limit=0) 
    { 
     $this->db->select("....col_name...."); 
      //.................... 
      //......... 
     $this->db->limit(10,$limit)->order_by('id', 'desc'); 
     return $this->db->get()->result_array(); 

    } 



//Define controller function with limit 
function controllerFunction($limit = 0) 
    { 
     $config['base_url'] = path_to_controllerFunction 
     $config['total_rows'] = call_to_total_count_function; 
     $config['per_page'] = 10; 
     $data["total"] = call_to_total_count_function; 
     $config['use_page_numbers'] = TRUE; 
     $data["per_page"] = 10; 
     $config['full_tag_open'] = "<div class = 'pagination'>"; 
     $config['full_tag_close'] = "</div>"; 
     //$config['additional_param'] = 'serialize_form()'; 
     $config['div'] = '#div_to_load_result'; /* Here #content is the CSS selector for target DIV */ 
     //$config['js_rebind'] = "alert('it works !!'); "; /* if you want to bind extra js code */ 
     $this->load->library('table'); 
     $this->jquery_pagination->initialize($config); 
     $html = $this->jquery_pagination->create_links(); 
     $html .= '<br>'; 
     //$this->table->function = 'htmlspecialchars'; 
     //$this->table->set_heading('Delivery','image','time','delivery','old'); 
     $html .= $this->table->generate($this->modelname->modelFunction($limit)); 

     echo $html; 
    } 


     // first time loading result in controller 
function index() 
    { 
     $config['base_url'] = controllerFunction 
     $config['total_rows'] = total_number_of_result; 
     $config['per_page'] = 10; 
     $data["total"] = total_number_of_result 
     $data["per_page"] = 10; 
     $config['use_page_numbers'] = TRUE; 
     $config['full_tag_open'] = "<div class = 'pagination'>"; 
     $config['full_tag_close'] = "</div>"; 
     //$config['additional_param'] = 'serialize_form()'; 
     $config['div'] = '#div_to_load_result'; /* Here #content is the CSS selector for target DIV */ 
     //$config['js_rebind'] = "alert('it works !!'); "; /* if you want to bind extra js code */ 
     $this->load->library('table'); 
     $this->jquery_pagination->initialize($config); 
     $data['html'] = $this->jquery_pagination->create_links().'<br>'.$this->table->generate($this->modelname->modelFunction()); 

     $this->theme->view(path_of_view, $data); 
    } 
// now in view add following line 
<div id="div_to_load_result"><?php echo $html; ?></div> 
Verwandte Themen