ホームページ > バックエンド開発 > PHPチュートリアル > PHP はデータのページネーションを効率的に取得します

PHP はデータのページネーションを効率的に取得します

WBOY
リリース: 2016-06-13 12:00:47
オリジナル
1275 人が閲覧しました

php はデータのページネーションを効率的に取得します。
mysql.php はデータベース内のレコードを取得します。個人的な経験の完全な概要です。参考のためにのみ使用してください。

/**
*PHP+MYSQL データベースの基本機能
*http://blog.csdn.net/yown
*/
######### #################################
#获取配列ID
###########################################
function getSequence() {
$sql = "更新シーケンスセット id=last_insert_id(id+1);";
$ sql2= "select last_insert_id();";

グローバル $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 から始まります
########## ## ##############################
関数 getData($strsql,$ row,$col ) {
グローバル $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记录集存量组中
################ ###########################
関数 getResultSetData($strsql) {
グローバル $dbuser,$dbpass,$host,$database,$printsql;

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

mysql_select_db($データベース);
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
################################# ############
関数executeSql($strsql) {
グローバル $dbuser,$dbpass,$host,$database, $printsql;

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

mysql_select_db($database);
mysql_query("セット名 UTF8"); 
if($printsql) echo "
".$strsql."
";

mysql_query($strsql) ;
$ret =mysql_affected_rows($link);
mysql_close($link);
return $ret;
}

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

$curpage=isset($curpage)?interval($ curpage):1;//spacespace
$totalpage=0;//spacespace
$totalrow=0;//spacespace
if($printsql) echo "
".$tsql."
";

if($curpage<= ){
$curpage=1;
}

$totalrow=getData($ tsql,1,1);//SpecificSpecificExchange
$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; }

}

?>

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート