我有一个简单的 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>
有记录时看起来像这样:
当没有任何东西时:
提前致谢!
最佳答案
您可以计算显示的记录数。如果小于 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/