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

WBOY
リリース: 2016-06-23 13:54:45
オリジナル
887 人が閲覧しました

mysql.php 获取数据库中の记录,完全人经验总结,仅提供参考!
/**
*PHP+MYSQLデータベースの基本機能
*http://blog.csdn.net/yown
*/
################ ############################
#获取配列ID
################ ############################
function getSequence() {
$sql = "シーケンスセット id=last_insert_id(id+1) を更新します;";
$sql2= "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);
"" を返します。 $myrow = mysql_fetch_row($result);
$ret=$myrow[0];

mysql_close($link);
$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);
"" を返します。
}
$i=0;
while($myrow = mysql_fetch_row($result)){

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

mysql_close($link);
$ret を返す;

}

############################################
#获取strSql第N条记录
########################################## ##
function getRowData($strsql,$row) {
グローバル $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);
"" を返します。
}
$i=0;
while($myrow = mysql_fetch_array($result)){

if($i==$row-1){
$ret=$myrow;
休憩。
}
$i=$i+1;
}

mysql_close($link);
$ret を返す;

}

############################################
#获取strSql记录集存量组中
######################################## ####
function getResultSetData($strsql) {
グローバル $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);
"" を返します。
}

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

mysql_close($link);
$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("SET NAMES UTF8"); 
if($printsql) echo "


".$strsql."
";
mysql_query($strsql);
$ret =mysql_affected_rows($link);
mysql_close($link);
$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 $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." 制限 ".(($curpage-1)*$pagesize).",".$pagesize;
if($printsql) echo "
".$psql."
"; 
$pagerset=getResultSetData($psql);//当前页记录を取得
}
if($totalrow==0||$totalrow=="0"){ $curpage=1;}

}

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