程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php高效獲取數據分頁

php高效獲取數據分頁

編輯:關於PHP編程

mysql.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 "


".$sql."
";
mysql_query($sql);
if($printsql) echo "
".$sql2."
";
$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 "
".$strsql."
";
$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 "
".$strsql."
";
$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 "
".$strsql."
";
$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 "
".$strsql."
";
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 "
".$tsql."
";
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 "
".$psql."
";
$pagerset=getResultSetData($psql);//取得當前頁記錄
}
if($totalrow==0||$totalrow=="0"){ $curpage=1;}

}

?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved