Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

CodeIgniter pagination

[es] :: PHP :: CodeIgniter pagination

[ Pregleda: 1419 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

laleb

Član broj: 95197
Poruke: 17
*.dynamic.isp.telekom.rs.



Profil

icon CodeIgniter pagination16.11.2011. u 19:15 - pre 151 meseci
Imam problem prilikom prelamanja podataka iz baze. U pitanju je pretraga artikala.

view
Code:

<?php $attributes = array('class' => 'form_search','name' => 'submit_search'); ?>
<?php echo form_open('index',$attributes);?>

<select name="art">
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
</select>

<input type='hidden' name='search' value='search'>
<input type='submit' value='trazi'>
<?php echo form_close(); ?>

<?php foreach($list as $rows){

echo $rows->ime . "<br>";
echo $rows->cena . "<br>";

}



controller
Code:


function index(){

if(isset($_POST['search'])){

$select['vrsta'] = $this->input->post('art');

if($select['vrsta']!=null){    

        $where['vrsta'] = $select['vrsta'];
   }

$where['activno'] = '1';

$this->load->library('pagination');
        $config['base_url'] = base_url(). "index.php/index";
        $config['total_rows'] = $this->search_model->count($where);
        $config['per_page'] = 10;
        $config['uri_segment'] = 3;
        $this->pagination->initialize($config);
 
$query = $this->search_model->search($where, $config['per_page'], $this->uri->segment(3));
    
        $art['list'] = $query;
        $art['links']=$this->pagination->create_links();

}else {

$where['activno'] = '1';

$this->load->library('pagination');
        $config['base_url'] = base_url(). "index.php/index";
        $config['total_rows'] = $this->search_model->count($where);
        $config['per_page'] = 10;
        $config['uri_segment'] = 3;
        $this->pagination->initialize($config);
 
$query = $this->search_model->search($where, $config['per_page'], $this->uri->segment(3));
    
        $art['list'] = $query;
        $art['links']=$this->pagination->create_links();

}
}


model
Code:

function search($where, $row, $uri){
    
    $query = $this->db->get_where('artikli',$where,$row,$uri);
        
    return $query->result();
    
}

function count($where){
    
     $query = $this->db->get_where('artikli', $where);
     $count = $query->num_rows();    
     
     return $count;
    
}



Posle pretrage artikla i odabiranja vrste iz padajuceg menija sve je OK, izbaci dobar broj stranica, ali kada prebacim na sledecu stranicu vrati mi kao da nije pokrenuta pretraga, znaci izlista mi sve iz baze.
Problem je sto na sledecoj stranici ne prosledjuje podatke iz padajuceg menija.

Moze li mi neko pomoci
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
*.dynamic.sbb.rs.

Sajt: norway.dakipro.com


+190 Profil

icon Re: CodeIgniter pagination16.11.2011. u 19:28 - pre 151 meseci
Dampuj post na drugoj strani, deluje kao da nemas setovan post kad odes na stranu 2 a samim tim ti ovaj if ne prolazi


if($select['vrsta']!=null){

vec ide u else, gde nemas WHERE uslov
 
Odgovor na temu

s4djan
Student
Tu iza coska

Član broj: 220356
Poruke: 82
*.adsl.eunet.rs.

Sajt: www.erecepti.com


+2 Profil

icon Re: CodeIgniter pagination16.11.2011. u 20:03 - pre 151 meseci
Codeigniter u formama prosledjuje podatke kroz POST metod, što znači da bi ta forma radila sa paginacijom, moraš da te podatke proslediš kroz URL, tipa http://example.com/index.php/index/art/1/search/search_term/ i da ih tako i preuzimaš kroz Codeigniter URI class.

Imaš dva rešenja:

1.PHP - Kada šalješ POST zahtev kroz formu prosledi ga do neke medju funkcije da ih prihvati i konstruiše URL i izvrši redirekciju na tu adresu.

2.Javascript - Efikasniji ali manje elegantan način, blokiraj "submit" i kostruiši URL adresu uz pomoć javscripta i prosledi poziv pomoću "window.location". Ovim izbegavaš jedan poziv.

Samo obrati pažnju da ćeš morati dinamički konstruisati $config['base_url'].
 
Odgovor na temu

[es] :: PHP :: CodeIgniter pagination

[ Pregleda: 1419 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.