PHP& MySQL - 正确显示数据

时间:2013-12-04 19:16:44

标签: php mysql get isset

我的PHP代码提取数据如下:

$start = (isset($_GET['start']) ? (int)$_GET['start'] : 0);

$result = mysqli_query($con,"SELECT * FROM menuitem LIMIT $start, 4");
    if (!$result) {
        printf("Error: %s\n", mysqli_error($con));
        exit();
    }

我的数据显示每页限制为4。 我创建了一个“下一个”和“上一个”链接,显示下一个或前四个项目。

echo "<table width=\"1024\" align=\"center\" >";
echo "<tr height=\"50\"></tr>";

$prev = $start - 4;
echo '<td><a href="?start=' . $prev . '">Previous Items</a></td>';

$next = $start + 4;
echo '<td><a href="?start=' . $next . '">Next Items</a></td>';

echo "</table>";

我遇到的问题是“下一个项目”按钮不断超过我在数据库中的项目数。我需要限制这个和“以前的项目”,所以“下一个项目”链接不会超出我的数据库,并且“以前的项目”不会转到负数。我不知道该怎么做。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

使用

获取行数
SELECT COUNT(*) FROM menuitem

仅在显示链接时显示链接

$prev = $start - 4;
if ($prev >= 0) {
    echo '<td><a href="?start=' . $prev . '">Previous Items</a></td>';
}

$next = $start + 4;
if ($next < $count) {
    echo '<td><a href="?start=' . $next . '">Next Items</a></td>';
}

答案 1 :(得分:0)

您可以在第一次没有限制的情况下运行查询,用SELECT COUNT()替换SELECT *并获取条目数。然后在运行查询时,如果$ start + 4&gt; count,不显示Next按钮,如果$ start&lt; 1不显示上一个按钮。