Welcome Guest, Not a member yet? Register   Sign In
MSSQL Limit - A working "Fix" .
#2

[eluser]Unknown[/eluser]
hi Arasoi, thanks for the fix. Smile

I think we may need to change it like this:
Code:
function _limit($sql, $limit, $offset)
    {
        if (count($this->ar_orderby) > 0)
        {
            $OrderBy  = "ORDER BY ";
            $OrderBy .= implode(', ', $this->ar_orderby);

            if ($this->ar_order !== FALSE)
            {
                $OrderBy .= ($this->ar_order == 'desc') ? ' DESC' : ' ASC';
            }
        }

        $sql = preg_replace('/(\\'. $OrderBy .'\n?)/i','', $sql);
        $sql = preg_replace('/(^\SELECT (DISTINCT)?)/i','\\1 row_number() OVER ('.$OrderBy.') AS rownum, ', $sql);

        $NewSQL = "SELECT * \nFROM (\n" . $sql . ") AS A \nWHERE A.rownum BETWEEN (" .($offset + 1) . ") AND (".($offset + $limit).")";

        return     $NewSQL;
    }

coz we often call db->limit with limit and offset params:
Code:
$this->db->limit($limit, $offset);


Messages In This Thread
MSSQL Limit - A working "Fix" . - by El Forum - 07-13-2010, 08:03 AM
MSSQL Limit - A working "Fix" . - by El Forum - 07-14-2010, 08:55 AM
MSSQL Limit - A working "Fix" . - by El Forum - 07-14-2010, 10:43 AM
MSSQL Limit - A working "Fix" . - by El Forum - 07-15-2010, 01:34 PM
MSSQL Limit - A working "Fix" . - by El Forum - 02-18-2011, 02:38 PM
MSSQL Limit - A working "Fix" . - by El Forum - 02-28-2011, 08:01 PM
MSSQL Limit - A working "Fix" . - by El Forum - 08-10-2011, 05:46 AM
MSSQL Limit - A working "Fix" . - by El Forum - 03-07-2012, 02:10 PM
MSSQL Limit - A working "Fix" . - by El Forum - 09-11-2012, 06:22 PM
MSSQL Limit - A working "Fix" . - by El Forum - 06-12-2013, 08:45 AM



Theme © iAndrew 2016 - Forum software by © MyBB