php - 当不再有记录显示 PHP 时禁用或删除 'next' 按钮

标签 php mysql

我有一个简单的 php 页面,它在表格中显示了记录。我已经成功地向页面添加了某种分页,但是如果没有要显示的记录,我对如何禁用或不显示“下一步”按钮感到困惑。现在它只允许用户继续点击“下一步”并显示一个空表。谁能帮我实现这个目标?

这是我目前的代码:

<?php

    if (!isset($_GET['startrow']) or !is_numeric($_GET['startrow'])) {
  //give the value of the starting row to 0
  $startrow = 0;
//otherwise take the value from the URL
} else {
  $startrow = (int)$_GET['startrow'];
}
        try {

            $db_conx = new PDO("mysql:host=$mysql_hostname;dbname=$mysql_dbname", $mysql_username, $mysql_password);

            $db_conx->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            $stmt = $db_conx->prepare("SELECT * FROM course_details LIMIT $startrow, 5");
            $stmt->execute();
            $courses = $stmt->fetchAll(PDO::FETCH_ASSOC);
        }
        catch(Exception $e)
        {
            die ("Could not connect to the database $mysql_dbname :" . $e->getMessage());
        }
        ?>
        <div class="container">
            <div class = "container-fluid">
                <div id = "table_container" style="width:auto; margin-top:50px;" class="mainbox col-md-6">
                    <div class="row clearfix">
                        <div class="col-md-12">
                            <table class="table table-bordered table-hover" id="tab_logic">
                                <thead>
                                    <tr >
                                        <th class="text-center">
                                            Course Code
                                        </th>
                                        <th class="text-center">
                                            Course Title
                                        </th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <!-- populating the table with information from mysql database -->
                                    <?php foreach ($courses as $row) {
                                        echo "<tr><td>";
                                        echo $row['course_code'];
                                        echo "</td><td>";
                                        echo $row['course_title'];
                                        echo "</td><td>";
                                        echo "</tr>"; }
                                        ?>
                                    </tbody>
                                </table>

                                <?PHP

                            echo '<a href="'.$_SERVER['PHP_SELF'].'?startrow='.($startrow+5).'" class="pull-right">Next</a>';
                            $prev = $startrow - 5;

                            if ($prev >= 0)
                                echo '<a href="'.$_SERVER['PHP_SELF'].'?startrow='.$prev.'">Previous</a>';
                            ?>
                            </div>
                        </div>

有记录时看起来像这样:

Records Exist

当没有任何东西时:

No records to display

提前致谢!

最佳答案

您可以计算显示的记录数。如果小于 5,则肯定没有更多记录显示。

<?php 
   $recordCount = 0;
   foreach ($courses as $row) {
        $recordCount++; 
        echo "<tr><td>";
        ...
   }
?>

如果 $recordCount < 5

,则回显没有链接的 "Next"
echo $recordCount == 5
    ? '<a href="'.$_SERVER['PHP_SELF'].'?startrow='.($startrow+5).'" class="pull-right">Next</a>';
    : '<span class="pull-right">Next</span>'; 

关于php - 当不再有记录显示 PHP 时禁用或删除 'next' 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29719530/

相关文章:

php - 如何在 php 中使用 Youtube Api 获取 YouTube 视频描述和评论

PHP strtotime +1 个月增加了一个月

java - Mysql重复条目 'xxxxxxxx'键(唯一) 'xxxxxxxxxx'

php - 更改了服务器,现在密码以不同的方式散列 - 旧的不再有效

php - TinyMCE 多个编辑器在 Yii2 中无法正确渲染

php - 列表框在每个元素下方显示空白行空间

php - 伪随机化一个数组,其中相似的值不连续

mysql - 获取每个日期的最高值

php - RESTful Api 还是直接访问?

php - 如何连接两个表形成一个SQL查询?