php上一页/下一页导航结果集

时间:2017-01-30 01:44:13

标签: php pdo navigation dataset

我想在带有两个按钮的数据集中导航。我想每次只显示一个条目。理论上我将指针设置为下一个或上一个记录。但它不起作用。所以我尝试了另一种方式。

解释:$ picklistNr必须修复。它包含一个文章列表。我想在结果中导航设置LIMIT。

查询通过PDO返回一个数组,如下所示:

public function getPicklistItems($picklistNr,$pos = null){    

$sql = "SELECT pitem.*, plist.PLHkey
            FROM stpPicklistItems pitem
            RIGHT JOIN stpArtikel2Pickliste a2p
            ON (pitem.id = a2p.ArtikelID)

            LEFT JOIN stpPickliste plist
            ON (a2p.PicklistID = plist.PLHkey)

           WHERE plist.PLHkey = '{$picklistNr}'            
           LIMIT {$pos} OFFSET 1
            ";

    $sql = $this->db->prepare($sql);
    $sql->execute();
    return $sql->fetchAll(PDO::FETCH_NUM);
}
<?php
// Contents in my view

$pos = 0;

$picklist = $this->Picklist->getPicklistItems('60000',$pos);

if($_POST['nav'] == 'n') {
$pos += 1;
$picklist = $this->Picklist->getPicklistItems('60000',$pos);
}

if($_POST['nav'] == 'p') {
$pos -= 1;
$picklist = $this->Picklist->getPicklistItems('60000',$pos);
}
?>

<form method="post">
<input type="hidden" name="nav" value="n">
<button type="submit">Next</button>
</form>

<form method="post">
<input type="hidden" name="nav" value="p">
<button type="submit">Previous</button>
</form>

此更新代码的问题是,我可以提交一次表单。 $ pos从0变为1,输出符合预期。显示下一篇文章。但这只有一个。如果我第二次按下按钮,则没有任何反应。

如果按p按钮减小$ pos,结果为-1而不是$ pos-1。

0 个答案:

没有答案