【问题标题】:Start and Pause While Looping through db records循环遍历数据库记录时启动和暂停
【发布时间】:2013-04-07 15:53:53
【问题描述】:

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

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

起始预算:1040 欧元
当前预算:1000 欧元
_
|Companyname : 20 Euros on 12/12/12 |Companyname : 20 Euros on 16/01/13 _

>

<?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>';    

}
?>

【问题讨论】:

  • 搜索pagination

标签: php sql for-loop record


【解决方案1】:
    <?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 条记录 LIMITed 从前 2 条开始并增加 +2

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

<?php

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

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

【讨论】:

    【解决方案2】:

    我一直在研究分页,我找到了this 示例。我一直在尝试以我的网站风格来实现它,它似乎正在奏效。谢谢大家:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多