Heim >Backend-Entwicklung >PHP-Tutorial >php高效获取数据分页

php高效获取数据分页

WBOY
WBOYOriginal
2016-06-23 13:54:45904Durchsuche

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    $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;}
 
}

?>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:php 常用验证类及正则Nächster Artikel:UBUNTU安装PHP,即所谓得LAMP