PHP, mySQL : 设置一个Array limit \ offset

PHP, mySQL : Set an Array limit \ offset

大家好,我如何设置 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();
}

我猜你是开发新手,或者在你不熟悉的环境中修改别人的代码,或者只是使用 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 的值页码和每页行数机制,但这只是一个额外的 F.L.O.C,您应该能够解决这个问题。