2010-12-10 45 views
-1

Je pense qu'il y a un bug dans la bibliothèque de pagination codeigniter. Pour une raison quelconque, quand je produis les liens de pagination, il génère les liens comme:Codeigniter Bogue de pagination

1 2 3 4 

Où la page 3 est un lien vers 4.

Voici le code des variables de configuration au cas où quelqu'un est curieux:

$config['base_url'] = base_url() . "index.php/test/$query_string"; 
$config['total_rows'] = $search_results->num_rows(); 
$config['per_page'] = $items_per_page; 

Et voici un exemple de ma chaîne de requête:

?q=sample_query_string&per_page=1 

est-il un moyen de résoudre ce problème?

Répondre

2

Je ne voudrais pas déranger avec la chaîne de requête, utilisez une variable passée directement à partir de l'URL/contrôleur. Aussi, je pense que votre URL de base est fausse. Il devrait être (en supposant que votre sont sur la page de la fonction d'index par défaut)

$config['base_url'] = site_url("test/index"); 

Vous n'avez pas besoin de mettre les vars à la fin de l'URL de base. Si vous avez des chaînes de requête activées (je ne pense pas que vous le feriez), ce serait pareil, CI devrait gérer tout le renommage, juste l'extraction des variables sera différente.

contrôleur devrait donc être

class Test extends Controller { 

    function index($offset = 0) 
    { 

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

    $config['base_url'] = site_url("test/index"); 
    $config['total_rows'] = $search_results->num_rows(); 
    $config['per_page'] = 20; 
    $config['uri_segment'] = 3; 

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


    // DO OTHER STUFF 

    } 

} 

Vous pouvez définir la limite dans votre config. Avez-vous besoin de le faire à partir de l'URL?

+0

Merci pour l'astuce 'base_url'. Cependant, cela ne résout pas le problème. Je commence à penser que cela pourrait être un bug codeigniter. – arvinsim

+0

Avez-vous des chaînes de requête activées? Si vous publiez plus de code, quelqu'un pourrait vous aider. Je n'ai eu aucun problème avec la pagination CI dans le passé, mais c'est peut-être un bug. –

+0

Merci pour l'astuce 'uri_segment'. Je pensais que c'était un bug bizarre dans la pagination lib. –