php高效獲取數據分頁

d2xy 9年前發布 | 2K 次閱讀 PHP

mysql.php 獲取數據庫中的記錄

<?php
/*PHP+MYSQL數據庫基本功能
http://blog.csdn.net/yown/

#

獲取序列ID

#

function getSequence() { $sql = "update sequence set id=last_insert_id(id+1);"; $sql2= "select last_insert_id();";

global $dbuser,$dbpass,$host,$database,$printsql;

$link = mysql_connect($host,$dbuser,$dbpass); if(! $link){ return mysql_error(); }

mysql_select_db($database); mysql_query("SET NAMES UTF8"); if($printsql) echo "<hr/>".$sql."<hr/>"; mysql_query($sql); if($printsql) echo "<hr/>".$sql2."<hr/>"; $result = mysql_query($sql2);

if(mysql_num_rows($result)==0){ mysql_close($link); return ""; } $myrow = mysql_fetch_row($result); $ret=$myrow[0];

mysql_close($link); return $ret; }

#

獲取strSql第N條記錄中的第N列數據,下標從1開始

#

function getData($strsql,$row,$col) { global $dbuser,$dbpass,$host,$database,$printsql;

$link = mysql_connect($host,$dbuser,$dbpass); if(! $link){ return mysql_error(); }

mysql_select_db($database); mysql_query("SET NAMES UTF8"); if($printsql) echo "<hr/>".$strsql."<hr/>"; $result = mysql_query($strsql);

if(mysql_num_rows($result)==0){ mysql_close($link); return ""; } $i=0; while($myrow = mysql_fetch_row($result)){

if($i==$row-1){ $ret=$myrow[$col-1]; break; } $i=$i+1; }

mysql_close($link); return $ret;

}

#

獲取strSql第N條記錄

#

function getRowData($strsql,$row) { global $dbuser,$dbpass,$host,$database,$printsql;

$link = mysql_connect($host,$dbuser,$dbpass); if(! $link){ return mysql_error(); }

mysql_select_db($database); mysql_query("SET NAMES UTF8"); if($printsql) echo "<hr/>".$strsql."<hr/>"; $result = mysql_query($strsql);

if(mysql_num_rows($result)==0){ mysql_close($link); return ""; } $i=0; while($myrow = mysql_fetch_array($result)){

if($i==$row-1){ $ret=$myrow; break; } $i=$i+1; }

mysql_close($link); return $ret;

}

#

獲取strSql記錄集存入數組中

#

function getResultSetData($strsql) { global $dbuser,$dbpass,$host,$database,$printsql;

$link = mysql_connect($host,$dbuser,$dbpass); if(! $link){ return mysql_error(); }

mysql_select_db($database); mysql_query("SET NAMES UTF8"); if($printsql) echo "<hr/>".$strsql."<hr/>"; $result = mysql_query($strsql);

if(mysql_num_rows($result)==0){ mysql_close($link); return ""; }

while($myrow = mysql_fetch_array($result)){ $ret[]=$myrow;
}

mysql_close($link); return $ret; }

#

執行strSql

#

function executeSql($strsql) { global $dbuser,$dbpass,$host,$database,$printsql;

$link = mysql_connect($host,$dbuser,$dbpass); if(! $link){ return mysql_error(); }

mysql_select_db($database); mysql_query("SET NAMES UTF8"); if($printsql) echo "<hr/>".$strsql."<hr/>"; mysql_query($strsql); $ret =mysql_affected_rows($link); mysql_close($link); return $ret; }

/ 分頁/ function Pager(&$curpage,&$pagesize,&$tsql,&$psql,&$totalpage,&$totalrow,&$pagerset){

$curpage=isset($curpage)?intval($curpage):1;//當前頁 $totalpage=0;//總頁數 $totalrow=0;//總記錄數 if($printsql) echo "<hr/>".$tsql."<hr/>"; if($curpage <= 0){ $curpage=1; }

$totalrow=getData($tsql,1,1);//取得總記錄數 $totalrow=strlen(totalrow)==0?0:$totalrow; if($totalrow>0){ $totalpage=$totalrow%$pagesize==0?(int)($totalrow/$pagesize):(int)($totalrow/$pagesize)+1; if($curpage>$totalpage){ $curpage=1; }

$psql=$psql." limit ".(($curpage-1)*$pagesize).",".$pagesize; if($printsql) echo "<hr/>".$psql."<hr/>"; $pagerset=getResultSetData($psql);//取得當前頁記錄 } if($totalrow==0||$totalrow=="0"){ $curpage=1;}

}

?></pre>

 本文由用戶 d2xy 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!