循环访问db记录时启动和暂停

时间:2013-04-07 15:53:54

标签: php sql for-loop record

我有一个页面,其中包含有关帐单的一些信息。我通过简单的while循环获取此信息并在屏幕上回显它。我希望如果用户点击“下一个帐单”,则会从数据库行显示下两个帐单。因此页面的特定部分需要在“下划线”之间刷新,并且while循环需要在前两行暂停,如果用户激活按钮,while循环应该继续并显示接下来的两行或两行较早的行。

我不知道如何做到这一点,从哪里开始以及寻找什么。有没有办法做到这一点?

开始预算:1040欧元
目前的预算:1000欧元
_
|公司名称:2012年12月12日20欧元< - 第一行db
|公司名称:2013年1月16日20欧元< - 第二行db
_

<<早期票据下一票据>>

<?php
$sqBill= mysql_query("SELECT * FROM bill WHERE idUser = '$_SESSION[idSelected]'",  $con);

while($row = mysql_fetch_array($sqBill))
{       
    $company = $row['company'];
    $bill = $row['bill'];
    $date = $row['date'];
    echo '<div><label><b>' . $company . '</b></label><input type="text" value="' . htmlspecialchars($bill) . ' op ' . htmlspecialchars($date) . '" disabled></div>';    

}
?>

2 个答案:

答案 0 :(得分:0)

    <?php
    $limit = $_GET['limit'];
    if(isset($_GET['limit'])){
        $limit = $limit + 2;
    }
    else {
        $limit = 0;
    }
    ?>

    <a href="yourPage.php?limit=<?= $limit; ?>">Next bill</a>
    <?php

    $sqBill= mysql_query("SELECT * FROM bill WHERE idUser = '$_SESSION[idSelected]' LIMIT $limit, 2;");

非常简单的例子。但是它应该只有2个记录限制,从前2开始增加+2

另外添加简单条件,即可操作上一页。所有的安全性(通过另一种方式发送限制,使其只是整数等等)和进一步的结构化(将所有条件设置为方法等等)取决于你当然:

<?php

    if($limit > 0) {
        $previous = $limit - 4;

        ?>
        <a href="yourPage.php?limit=<?= $previous; ?>">Previous bill</a>

答案 1 :(得分:0)

我一直在寻找分页,我找到了this的例子。我一直在尝试以我的网站风格实现它,它似乎正在努力。谢谢大家:))