2017-05-22 4 views
1

Dies ist das erste Mal, dass ich mit der Seitennummerierung im Codeigniter arbeite, und ich bin ein wenig verwirrt. Ich glaube, dass mein Problem etwas mit der Offsetvariable der URI-Segmente zu tun haben könnte.Seitennummerierung mit Codeigniter-URI-Ausgabe

Hier ist mein Controller. Ich habe die $config["base_url"] durch die vollständige URL ersetzt, so dass Sie sehen können, wie viele URI-Segmente ich habe.

Mein Controller

 $gutterId = $this->gutter->convertGutterNameToId($name); 
     $this->load->library("pagination"); 
     $config = array(); 
     $config["base_url"] = "http://localhost/gutter/g/random/";  //base_url() . "/g/$name"; 
     $config["total_rows"] = $this->gutter->countThreadRows($gutterId); 
     $config["per_page"] = 1; 
     $config["uri_segment"] = 5; 

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

     $limit = 1; 
     $offset = ($this->uri->segment(5)) ? $this->uri->segment(5) : 0; 

     $data['threads'] = $this->gutter->grabThreads($limit, $offset, $gutterId); 
     $data['title'] = $name; 
     echo $this->pagination->create_links(); 

Und mein Modell.

public function grabThreads($limit, $offset, $gutterId){ 
      $query = $this->db->limit($limit, $offset)->order_by('thread_id', 'DESC')->get_where('threads', array('thread_sub_gutter' => $gutterId)); 

      return $query->result(); 
     } 

Also das gibt mir ein Ergebnis auf der http://localhost/gutter/g/random/ Seite, die mir die Abfrage richtig funktioniert, zu glauben, führt. Wenn ich jedoch zu http://localhost/gutter/g/random/1 navigiere, erhalte ich folgenden 404-Fehler:

Die von Ihnen angeforderte Seite wurde nicht gefunden.

Antwort

1

Sie müssen die Anfrage an Ihre Steuerung weiterleiten. sollte wie folgt sein:

$route['g/(:any)/(:any)'] = 'g/index/$1/$2'; 

Auch wenn Ihre Seitenzahl im dritten Segment sein wird, dies tun:

$config[‘uri_segment’] = 3; 
+0

meine base_url/Gosse localhost ist, und ich habe '$ route [ 'g/(: any)'] = 'g/index/$ 1'; 'um die index.php zu entfernen, müsste sie etwa wie folgt aussehen: $ route ['/ g/random/(: any)'] = '/ g/random /'; ' – Tony

+0

Das ist richtig, nur kein abschließender Schrägstrich nach dem Zufallsprinzip. @Tony – Callombert

+0

Auch Ihr URI-Segment ist falsch, siehe bearbeitete Antwort @Tony – Callombert

Verwandte Themen