在更改页面时显示mysql查询

displaying mysql query while changing the page

本文关键字:显示 mysql 查询      更新时间:2023-09-26

可能重复:
PHP&MySQL分页更新帮助

所以,在我的网站上,有10页。在每一页中,我都希望显示表中不同的行。(我使用MySQL作为数据库,我得到了一个名为"A"的表。(

第一页表格中的我的行:

$result = mysql_query("SELECT * FROM A ORDER BY date DESC LIMIT 20");

我的页面:

<div class="pagenavi" > 
    <span class="pages"><span><a href="index.php"><</a></span>
    <span class="currentpage">1</span> -
    <a href="/pages/page2.php">2</a> -
    <a href="/pages/page3.php">3</a> - 
    <a href="/pages/page4.php">4</a> -  
    <a href="/pages/page5.php">5</a> -
    <a href="/pages/page6.php">6</a> -
    <a href="/pages/page7.php">7</a> - 
    <a href="/pages/page8.php">8</a> -
    <a href="/pages/page9.php">9</a> -
    <a href="/pages/page10.php">10</a>
    <span id="nextpage"><a href="/pages/page2.php" class="arrow">></a></span>
    </span>
</div>

因此,在不同的页面中,我可以通过更改限制值来显示不同的行,但每次都会转到另一个页面,效率很低。我想要的是,在同一个页面中显示不同的行,而不去另一个页面(例如index.php(。如果这些链接是按钮,就不会有问题,但它们不是。我能做什么?

这可以用更好的方式实现。您不需要制作10个不同的PHP脚本,但可以使用GET变量动态地执行此操作。下面是一个代码片段,可以解释更多:

<?php
$recPerPage = 20; // number of records per page
$maxPages = 10; // maximum number of pages
if (!isset($_GET['page'])) {
    $pn = 1;
} else {
    $pn = (int) $_GET['page'];
}
if ($pn < 1) {
    $pn = 1;
}
$offset = ($pn - 1) * $recPerPage;
$result = mysql_query("SELECT * FROM A ORDER BY date DESC LIMIT " . $offset . ',' . $recPerPage);
// ... DB code or other processing
// ...
// now let's dynamically generate the page numbers
$arrPage = Array();
for ($i = 1; $i <= $maxPages; $i++) {
    if ($i == $pn) {
        $arrPage[] = '<span class="currentpage">' . $i . '</span>';
    } else {
        $arrPage[] = '<a href="/temp/index.php?page=' . $i . '">' . $i . '</a>';
    }
}
$prevPn = ($pn - 1) < 1 ? 1 : ($pn - 1);
$nextPn = ($pn + 1) > $maxPages ? $maxPages : ($pn + 1);
?>
<div class="pagenavi" > 
    <span class="pages">
        <span><a href="/temp/index.php?page=<?php echo $prevPn; ?>" class="arrow"><</a></span>
        <?php echo implode(' - ', $arrPage); ?>
        <span id="nextpage"><a href="/temp/index.php?page=<?php echo $nextPn; ?>" class="arrow">></a></span>
    </span>
</div>

希望这能有所帮助!

是的,所有的页面链接现在都指向index.php.

不过,有一件事我想问。你为什么说如果链接是按钮就没有问题?

如果你的页面不是太大,并且只有10个页面,你可以在一个div中加载每个页面,在css中将显示设置为none,并在有人点击链接时使用javascript显示所需的div。

如果页面太大,或者页面太多,每次都可以使用Ajax获取内容。