首页 > 解决方案 > 下一个按钮条件不适用于 PHP 的分页

问题描述

我在使用 PHP 使用上一个和下一个按钮进行分页时遇到问题。我的代码适用于上一个按钮(当您在第一页时,您无法转到上一页。但我想在没有更多文章时停止分页。但在我的代码中它仍然可以打开一个新的页面,即使它们是空的。

$toto 是一个动态变量,它随数据库而变化。所以我不能只写一个数字。

    <?php $previousPpage; $nextPage; $toto;

        // CODE A EXTERNALISER ET METTRE EN PAGE N° DE PAGE
        $pdoStatement = $pdo->prepare('SELECT COUNT(*) AS totalMessages FROM messages');

        if ($pdoStatement->execute()) {
            $totalMessages = $pdoStatement->fetch(PDO::FETCH_ASSOC);
        
        function getPreviousPage()
        {     
            if (isset($_GET['page']) && $_GET['page'] > 1) {
                $previousPage = $_GET['page'] - 1;
            } else {
                $previousPage = 1;
            }
            return $previousPage;
        }  

        $toto = ceil($totalMessages['totalMessages']);
        $toto = intval($toto);
        var_dump($toto); // RETURN a int

        function getNextPage()
        { 
            if (isset($_GET['page']) && $_GET['page'] < $toto) { // code error undefined variable $toto
                $nextPage = $_GET['page'] + 1;
            } else {
                $nextPage = $_GET['page'];
            }
            return $nextPage;
        } 

            echo '<nav aria-label="Page navigation example">
                    <ul class="pagination justify-content-center">
                        <li>
                            <a class="page-link" href="?page=' . getPreviousPage() . '" aria-label="Previous">
                            <span aria-hidden="true">&laquo;</span>
                            </a>
                        </li>';

                        for ($i = 1; $i <= ceil($totalMessages['totalMessages'] / 10); $i++) {
                                echo '<li><a class="page-link" href="?page='.   $i . '">' . $i . '</a></li>';
                        }                       

                        echo '<li>
                            <a class="page-link" href="?page=' . getNextPage() . '" aria-label="Next">
                            <span aria-hidden="true">&raquo;</span>
                            </a>
                        </li>
                    </ul>
                </nav>';
        }
    ?>

当我在 getPreviousPage() 和函数 getNextPage() 之间创建一个 var_dump 时,它会返回一个 int,所以这很好。但是当我在 echo 中调用函数 getNextPage() 时它不起作用,它告诉我

Warning: Undefined variable $toto inC:\xampp\htdocs\copy-twitter\view.php on line 76

第 76 行对应于

 if (isset($_GET['page']) && $_GET['page'] < $toto)

我尝试在初始化之前放一个全局但没有成功

有人有想法吗?

标签: phppaginationnavigation

解决方案


推荐阅读