mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-22 16:03:47 +01:00
Added limit_query function.
This commit is contained in:
parent
9bcff82453
commit
030232dfc3
@ -23,6 +23,7 @@ class db {
|
||||
var $Password = "";
|
||||
|
||||
/* public: configuration parameters */
|
||||
var $use_pconnect = True;
|
||||
var $auto_stripslashes = False;
|
||||
var $Auto_Free = 0; ## Set to 1 for automatic mysql_free_result()
|
||||
var $Debug = 0; ## Set to 1 for debugging messages.
|
||||
@ -74,10 +75,16 @@ class db {
|
||||
$Password = $this->Password;
|
||||
|
||||
/* establish connection, select database */
|
||||
if ( 0 == $this->Link_ID ) {
|
||||
$this->Link_ID=mysql_pconnect($Host, $User, $Password);
|
||||
if (!$this->Link_ID) {
|
||||
$this->halt("pconnect($Host, $User, \$Password) failed.");
|
||||
if ( 0 == $this->Link_ID )
|
||||
{
|
||||
if ($this->use_pconnect)
|
||||
$this->Link_ID=mysql_pconnect($Host, $User, $Password);
|
||||
else
|
||||
$this->Link_ID=mysql_connect($Host, $User, $Password);
|
||||
|
||||
if (!$this->Link_ID)
|
||||
{
|
||||
$this->halt("connect($Host, $User, \$Password) failed.");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -158,6 +165,38 @@ class db {
|
||||
return $this->Query_ID;
|
||||
}
|
||||
|
||||
// public: perform a query with limited result set
|
||||
function limit_query($Query_String, $offset, $num_rows, $line = '', $file = '')
|
||||
{
|
||||
global $phpgw_info;
|
||||
|
||||
if ($Query_String == '')
|
||||
return 0;
|
||||
|
||||
if (!$this->connect())
|
||||
return 0; // we already complained in connect() about that.
|
||||
|
||||
if ($this->Query_ID)
|
||||
$this->free();
|
||||
|
||||
if ($this->Debug)
|
||||
printf("Debug: limit_query = %s<br>offset=%d, num_rows=%d<br>\n", $Query_String, $offset, $num_rows);
|
||||
|
||||
if (!IsSet($num_rows) || $num_rows < 1)
|
||||
$num_rows = $phpgw_info['user']['preferences']['common']['maxmatchs'];
|
||||
|
||||
$Query_String .= ' LIMIT ' . $offset . ',' . $num_rows;
|
||||
|
||||
$this->Query_ID = @mysql_query($Query_String, $this->Link_ID);
|
||||
$this->Row = 0;
|
||||
$this->Errno = mysql_errno();
|
||||
$this->Error = mysql_error();
|
||||
if (!$this->Query_ID)
|
||||
$this->halt('Invalid SQL: ' . $Query_String, $line, $file);
|
||||
|
||||
return $this->Query_ID;
|
||||
}
|
||||
|
||||
/* public: walk result set */
|
||||
function next_record() {
|
||||
if (!$this->Query_ID) {
|
||||
@ -466,4 +505,4 @@ class db {
|
||||
/*return $return; */
|
||||
}
|
||||
}
|
||||
?>
|
||||
?>
|
||||
|
Loading…
Reference in New Issue
Block a user