Petite question système de pagination

Suivre ce topic
Ce topic est suivi par : Personne...
essonne91

essonne91 Le 26 août 2020 à 20:57

if(isset($_SESSION['auth'])) {
    $req = $pdo->prepare('SELECT * FROM f_messages WHERE id_posteur = ?');
    $req->execute([$_SESSION['auth']['id']]);
    $grade = $req->rowCount();
}

$articleCount = 10;

if(isset($_SESSION['auth']['admin'])) {
    if($_SESSION['auth']['admin'] == 0) {
        if(isset($grade) AND $grade >= 101) {
            $articleTotale = $pdo->query('SELECT id FROM articles');
            $articleTotale = $articleTotale->rowCount();
            $allpages = ceil($articleTotale / $articleCount);
        } else {
            $articleTotale = $pdo->query('SELECT id FROM articles WHERE publication = 1');
            $articleTotale = $articleTotale->rowCount();
            $allpages = ceil($articleTotale / $articleCount);
        }

    } else {
        $articleTotale = $pdo->query('SELECT id FROM articles');
        $articleTotale = $articleTotale->rowCount();
        $allpages = ceil($articleTotale / $articleCount);
    }
} else {
    $articleTotale = $pdo->query('SELECT id FROM articles WHERE publication = 1');
    $articleTotale = $articleTotale->rowCount();
    $allpages = ceil($articleTotale / $articleCount);
}

if(isset($_GET['page']) AND !empty($_GET['page']) AND $_GET['page'] > 0 AND $_GET['page'] <= $allpages) {
    $_GET['page'] = intval($_GET['page']);
    $pageCourante = $_GET['page'];
} else {
    $pageCourante = 1;
}

$go = ($pageCourante-1)*$articleCount;

if(isset($grade,$_SESSION['auth'])) {
    if($grade >= 101 OR $_SESSION['auth']['admin'] == 1){
       $articles = $pdo->query('SELECT * FROM `articles` ORDER BY date_publication DESC LIMIT '.$go.','.$articleCount); 
    }else {
        $articles = $pdo->query('SELECT * FROM `articles` WHERE publication = 1 ORDER BY date_publication DESC LIMIT '.$go.','.$articleCount);
    }
} else {
    $articles = $pdo->query('SELECT * FROM `articles` WHERE publication = 1 ORDER BY date_publication DESC LIMIT '.$go.','.$articleCount);
}

partie 1 pour préparer la suite

<ul class="uk-pagination my-5 uk-flex-center" uk-margin>
                    <?php
                    $pageminus = $pageCourante - 1;
                    $pageplus = $pageCourante + 1;
                    $max_page = 2;
                    if($pageminus >=1) { ?>
                        <li>
                            <?php echo '<a href="index.php">&lt&lt</a> '; ?>
                        </li>
                        <li>
                            <?php echo '<a href="index.php?page='.$pageminus.'">&lt</a> '; ?>
                        </li>
                    <?php } 

                    for ($i = $pageCourante - $max_page; $i < $pageCourante; $i++) {
                        if ($i > 0) { ?>
                            <li>
                                <?php  echo '<a href="index.php?page='.$i.'">'.$i.'</a> '; ?>
                            </li>
                    <?php }
                    } ?>
                    <li class="uk-active">
                        <?php echo '<a class="uk-active">'.$pageCourante.'</a> '; ?>
                    </li>

                    <?php for ($i= $pageCourante + 1; $i <= $allpages; $i++) { ?>
                        <li>
                            <?php  echo '<a href="index.php?page='.$i.'">'.$i.'</a> '; ?>
                        </li> 

                        <?php  if ($i >= $pageCourante + $max_page) {
                            if ($i <= $allpages - 2){ ?>
                                <li class="uk-disabled">
                                    <?php  echo '<a href="index.php?page=">...</a> '; ?>
                                </li> 
                                <li>
                                    <?php  echo '<a href="index.php?page='.$allpages.'">'.$allpages.'</a> '; ?>
                                </li>
                            <?php }
                            break;
                        }

                    }

                    if($pageplus <= $allpages) { ?>
                        <li>
                            <?php echo '<a href="index.php?page='.$pageplus.'">&gt</a> '; ?>
                        </li>
                        <li>
                            <?php echo '<a href="index.php?page='.$allpages.'">&gt&gt</a> '; ?>
                        </li>
                    <?php } ?>
                </ul>

cette partie c'est l'affichage j'ai tiré ce code de mon site en local qui est en dévellopement

Css90

Css90 Le 31 août 2020 à 20:53

@essonne91 ton code marche ??

essonne91

essonne91 Le 2 septembre 2020 à 10:27

Oui il marche très bien. Je suis en train de mettre en ligne mon site et j'ai gardé cette version de la pagination

Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte