Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

Pagination dans module perso
#1

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.12
#~ Url du site : www.ancestramil.fr
#~ Hébergeur / Soft :
#~ Informations Système : Environement de dev.
#~ ----------------------------------------------
#~ Cms Version: 1.12.1
#~ Installed Modules:
#~ CMSMailer: 5.2.2
#~ FileManager: 1.4.5
#~ MenuManager: 1.8.7
#~ MicroTiny: 1.2.9
#~ ModuleManager: 1.5.8
#~ News: 2.15.2
#~ Search: 1.7.13
#~ ThemeManager: 1.1.8
#~ Archiver: 0.2.6
#~ Captcha: 0.5.2
#~ CGExtensions: 1.49.7
#~ FrontEndUsers: 1.29
#~ CustomContent: 1.10
#~ rrAncestra: 0.1
#~ SelfRegistration: 1.9.2
#~ VisitorStats: 0.3.3
#~ MysqlDump: 1.3.1
#~ JM_Forum: 1.0.9.b
#~ FormBuilder: 0.8.1.1
#~ Gallery: 2.0.2
#~ TinyMCE: 2.9.12
#~ FormBrowser: 0.4.2
#~ CMSDumper: 1.3
#~ Revisions: 1.0-Beta2
#~ CGSimpleSmarty: 1.9.1
#~ CmsAncestramil: 0.1
#~ CmsModuleCleaner: 1.3.1
#~ Config Information:
#~ php_memory_limit:
#~ process_whole_template:
#~ max_upload_size: 100000000
#~ url_rewriting: none
#~ page_extension:
#~ query_var: page
#~ image_manipulation_prog: GD
#~ auto_alias_content: true
#~ locale:
#~ default_encoding: utf-8
#~ admin_encoding: utf-8
#~ set_names: true
#~ Php Information:
#~ phpversion: 5.5.28

#~ ----------------------------------------------
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour,

Mon code pour passer à la page suivante/précédente me renvoi à une page vide avec le bouton Retour au Menu. Je n'arrive pas a comprendre mon erreur.
Les Bases :
Mon module est uniquement pour une utilisation en BackOffice.
rrAncestra.module.php juste pour install/uninstall etc..
Dans mon action.defautandmin.php un lien vers function.admin_tab_liens.php ou ce trouve mon code.

Mon code de la partie Pagination :

Code :
/**************
* Pagination *
**************/
$p_lienParPage = 10; // Nombre de liens par page.
$sql = "SELECT COUNT(*) AS totalliens FROM ".cms_db_prefix()."module_ancestra_liens"; // Compte le nombre de lien(s) dans la table.
$p_nbresLiens = $db->GetRow($sql); // Exécute la requête et place la première ligne du résultat dans un tableau puis libère le jeu de résultat.
if($p_nbresLiens === false) // On test le code retour de la requête
{
    die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    exit;
}

$p_total_liens = $p_nbresLiens['totalliens']; // On récupère le nombre de liens.
$p_nbrePages = ceil($p_total_liens / $p_lienParPage); // On calcul le nombre de page à l'entier supérieur.

if(!isset($params['p_lienDepart']) || empty($params['p_lienDepart'])) // Si la variable n'est pas initialisé on l'initialise à 0
{
    $params['p_lienDepart'] = 0; // Le premier lien en cours sera le lien 0.
}

if($params['p_lienDepart'] = 0) // Si le premier lien est 0.
{
    $p_pageCours = 1; // La 1er page sera la page 1.
    $p_lienDepart = 0; // Le 1er lien sera le lien 0.
}
else // sinon
{
    if($params['p_lienDepart'] < $p_total_liens) // Sécurité : Le lien de départ ne doit pas être supérieur au nombre total de liens.
    {        
        $p_pageCours = floor($params['p_lienDepart'] / $p_lienParPage) + 1; // On calcul la page en cours.
        $p_lienDepart = $params['p_lienDepart']; // Affecte le lien de départ en cours avec la variable transmise de page en page.
    }
}

if($params['p_lienDepart'] >= $p_lienParPage) // Si le lien de départ est plus grand ou égal au nombre de lien par page.
{
    $this->smarty->assign('page_prec', $this->CreateLink($id, 'defautadmin', $returnid, $this->Lang('page_prec'), array('p_lienDepart'=>($params['p_lienDepart'] - $p_lienParPage)))); // Création du lien de la page précédente.
}
else // sinon...
{
    $this->smarty->assign('page_prec',''); // Pas de page précédente.
}

if ($params['p_lienDepart'] + $p_lienParPage < $p_total_liens) // Si le lien de départ + le nombre de lien par page est suppérieur au nombre de page.
{
    $this->smarty->assign('page_suiv', $this->CreateLink($id, 'defautadmin', $returnid, $this->Lang('page_suiv'), array('p_lienDepart'=>($params['p_lienDepart'] + $p_lienParPage)))); // Création du lien de la page suivante.
}
else // sinon...
{
    $this->smarty->assign('page_suiv',''); // Pas de page suivante.
}

$smarty->assign('page_no', $this->Lang('ol_pages').' '.$p_pageCours.' '.$this->Lang('ol_a').' '.$p_nbrePages);

Qui aurait la solution et surtout l'explication sur ma boulette ?

Pour le moment j'ai fait <Précédent Page x à x Suivante>. Prochaine étape les liens vers les pages en direct.
Répondre


Messages dans ce sujet

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)