Welcome Guest, Not a member yet? Register   Sign In
Concept Question
#4

[eluser]Vicente Russo[/eluser]
Hi,

I`ll post a piece of my code... but i`m in a hurry, so I can`t explaint too much...

Here we go:

Code:
function busca() { // Search function. Here I prepare the search URL to send to browser
        $termos = array();
        if ($this->uri->segment(4)!='') { // Here mi search is already made before
            $search = $this->uri->segment(4);
            $search = str_replace(' ','-',$search);
            acento_nao($search); // removing accents, custom function
            // Preparando array
            $aux = explode('-',$search);
            foreach($aux as $key => $valor) { // $termos will be each search word
                $termos[] = $valor;
            }
        } else { // Search form sent!
            $search = $this->input->post('valor');
            $search = str_replace(' ','-',$search);
            acento_nao($search);
            // Preparando array
            $aux = explode('-',$search);
            foreach($aux as $key => $valor) {
                $termos[] = $valor;
            }
        }
        redirect('administracao/admin/pagina/1/'.$search); // Redirecting to THIS controller and sending to pagination with page 1 as parameter
        
    }
    
        
    function pagina($page='',$termos='') { // Pagination function
        
        if ($page=='') {
            $this->session->keep_flashdata('mensagem');
            redirect('administracao/admin/pagina/1');
        }
        
        if ($this->uri->segment(5)!='') {
            $termos = $this->uri->segment(5);
        }
        
        $this->load->library('pagination');
        
        $limit = 20;
        $offset = ($page-1)*$limit;
    

        if ($termos=='') {
        
            $this->db->limit($limit, $offset);
            $query = $this->db->get('administradores');
            $data['total'] = $query->num_rows();
            $search = '';

        } else {
            $search = str_replace(' ','-',$termos);
            // Preparando array
            $busca = array();
            $aux = explode('-',$search);
            foreach($aux as $key => $valor) {
                $busca[] = $valor;
            }
            $this->db->like('nome', $busca[0]);
            $this->db->or_like('login', $busca[0]);
            $this->db->or_like('email', $busca[0]);
            
            $tt = count($busca);
            if ($tt>0) {
                for ($j=1;$j<$tt;$j++) {
                    $this->db->or_like('nome', $busca[$j]);
                    $this->db->or_like('login', $busca[$j]);
                    $this->db->or_like('email', $busca[$j]);
                }
            }
            
            
            $query_tt = $this->db->get('administradores');

            $this->db->like('nome', $busca[0]);
            $this->db->or_like('login', $busca[0]);
            $this->db->or_like('email', $busca[0]);

            $tt = count($busca);
            if ($tt>0) {
                for ($j=1;$j<$tt;$j++) {
                    $this->db->or_like('nome', $busca[$j]);
                    $this->db->or_like('login', $busca[$j]);
                    $this->db->or_like('email', $busca[$j]);
                }
            }
            
            $this->db->limit($limit, $offset);
            $query = $this->db->get('administradores');
            $data['total'] = $query_tt->num_rows();
        
        }
        
        

        $config['base_url'] = base_url().INDEX.'administracao/admin/pagina/';
        $config['total_rows'] = $data['total'];
        $config['per_page'] = $limit;
        $config['uri_segment'] = 4;
        $config['num_links'] = 5;
        
        
        $this->pagination->initialize($config);
        
        $data['status'] = 'listar';
        $data['search'] = $search;
        $data['range_min'] = $offset;
        $data['range_max'] = $search;
        $data['search'] = $search;
        $data['num_de_paginas'] = round($data['total'] / $limit);
        $data['adm'] = $query;
        
        $this->load->view('administracao/admin',$data);
        
        
    }


Messages In This Thread
Concept Question - by El Forum - 03-14-2009, 04:14 PM
Concept Question - by El Forum - 03-14-2009, 04:17 PM
Concept Question - by El Forum - 03-14-2009, 04:33 PM
Concept Question - by El Forum - 03-14-2009, 06:25 PM



Theme © iAndrew 2016 - Forum software by © MyBB