PHP,mySQL:设置数组限制\偏移量

时间:2015-09-17 08:19:27

标签: php pagination limit offset

Hello Guys如何设置限制和偏移量与sql数组相同 我正在执行.sql文件并将其写入$sql但我需要一个偏移量来进行分页,因为我得到了整个数据集。

public function getSqlDetailsAction()
{
    $fileName = $this->Request()->getParam('fileName');
    $pluginFolder = dirname(dirname(__DIR__));
    $sqlFolder = $pluginFolder . '/SqlFiles/';
    $filePath = $sqlFolder . $fileName;
    $sql = file_get_contents($filePath);
    $sql.=" limit ".$start.", ".$limit;
    $sqlResultList = Shopware()->Db()->query($sql);
    $this->View()->success = true;
    $this->View()->data = $sqlResultList->fetchAll();
}

1 个答案:

答案 0 :(得分:1)

我猜你是新手,或者在你不熟悉的环境中修改别人的代码,或者只是将SO用作免费开发。所以我会为你编码。

public function getSqlDetailsAction()
{
    $fileName = $this->Request()->getParam('fileName');
    $start    = $this->Request()->getParam('start');
    $limit    = $this->Request()->getParam('limit');

    $pluginFolder = dirname(dirname(__DIR__));
    $sqlFolder = $pluginFolder . '/SqlFiles/';
    $filePath = $sqlFolder . $fileName;
    $sql = file_get_contents($filePath);
    $sql.=" limit ".$start.", ".$limit;
    $sqlResultList = Shopware()->Db()->query($sql);
    $this->View()->success = true;
    $this->View()->data = $sqlResultList->fetchAll();
}

从您提供给我们的信息中可以看出这一点,但是我发现您在查询字符串中有一个page=1,或许您打算做一些稍微不同的事情,并从页码中计算LIMIT值和每页一行的机制,但这只是一个额外的FLOC,你应该能够解决这个问题。