Comment utiliser les numéros de page dans Codeigniter la pagination au lieu de les compenser?
J'ai lu toutes les questions sur Stackoverflow et n'ai vu aucune réponse définitive à la question. Je suis actuellement en utilisant le codeigniter la pagination de la bibliothèque pour générer ma pagination des liens à l'aide d'une limite et d'un décalage:
$config['base_url'] = base_url() . 'explore/featured/index/';
$config['total_rows'] = $this->Projects_model->get_featured_count();//Count featured projects
$config['per_page'] = 12;
$config['uri_segment'] = 4;
$config['display_pages'] = FALSE;
$config['next_link'] = 'Older →';
$config['prev_link'] = '← Newer';
$this->pagination->initialize($config);
$limit = $config['per_page'];
$offset = $this->uri->segment(4);
$data['pagination'] = $this->pagination->create_links();
$data['projects'] = $this->Projects_model->get_featured($limit, $offset); //get featured projects from database
Le code ci-dessus les limites les valeurs de sortie de ma requête et utilise un décalage qui est contenu dans mon 4ème URI segment.
Comment puis-je changer le code ci-dessous pour les numéros de page??? Semble être impossible parce que je ne serait plus en mesure d'utiliser un décalage dans mon url.
Vous devez vous connecter pour publier un commentaire.
À un certain point, de CI de mettre à jour leurs la pagination de la bibliothèque (enfin) de s'adapter à cette:
Si vous êtes sur une version qui n'a pas cette fonctionnalité, et sont incapables de mettre à jour l'ensemble de votre CI de l'installation, vous devriez être en mesure de tomber juste dans le dernier de la pagination de la bibliothèque.
Pour calculer votre DB offset, l'utilisation
$limit * $page_number
où "page_number" est la valeur de votre URL (4e segment dans votre cas).$limit * $page_number
mentionnés ci-dessus n'a pas renvoyé de un véritable décalage de point de départ et créé des problèmes lorsque le numéro de page est de 1 parce que le décalage doit être égal à 0 d'ici là. Cela a fonctionné pour moi:Suffit d'utiliser: