ホームページ  >  記事  >  バックエンド開発  >  初心者向けページネーションに関する問題、PHP ページネーションクエリ機能、クエリ結果がない場合にエラーが発生する

初心者向けページネーションに関する問題、PHP ページネーションクエリ機能、クエリ結果がない場合にエラーが発生する

WBOY
WBOYオリジナル
2016-06-13 13:36:491170ブラウズ

初心者のページングの問題、PHP ページング クエリ関数、クエリ結果のないエラー?

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->

 include("conn.php");

function pager($rows,$page_size){ 
global $page,$select_from,$select_limit,$pagenav; 
$page_count = ceil($rows/$page_size); 
if($page <= 1 || $page == '') $page = 1; 
if($page >= $page_count) $page = $page_count; 
$select_limit = $page_size; 
$select_from = ($page - 1) * $page_size.','; 
$pre_page = ($page == 1)? 1 : $page - 1; 
$next_page= ($page == $page_count)? $page_count : $page + 1 ; 
$pagenav .= "第 $page/$page_count 页 共 $rows 条记录 "; 
$pagenav .= "<a href='?page=1'>首页</a> "; 
$pagenav .= "<a href='?page=$pre_page'>前一页</a> "; 
$pagenav .= "<a href='?page=$next_page'>后一页</a> "; 
$pagenav .= "<a href='?page=$page_count'>末页</a>"; 
$pagenav.=" 跳到<select name='topage' size='1' onchange='window.location=\"?page=\"+this.value'>\n"; 
for($i=1;$i<=$page_count;$i++){ 
if($i==$page) $pagenav.="<option value='$i' selected>$i</option>\n"; 
else $pagenav.="<option value='$i'>$i</option>\n"; 

} 
} 

///////////////////////////// 利用pager函数计算出 $select_from 从哪条记录开始检索、$pagenav 输出分页导航 
$countsql="select * from manager where 0=0";
  if ($_POST[chinaname]!=""){ 
      $countsql=$countsql." and chinaname like '%$_POST[chinaname]%'";
  }
  if ($_POST[Tel]!=""){ 
      $countsql=$countsql." and Tel like '%$_POST[Tel]%'";
  }
$rows = mysql_num_rows(mysql_query($countsql)); 
$page = $_GET['page'];
pager($rows,2); 
$sql = "select * from manager where 0=0"; 
  if ($_POST[chinaname]!=""){ 
  $sql=$sql." and chinaname like '%$_POST[chinaname]%'";
  }
  if ($_POST[Tel]!=""){ 
  $sql=$sql." and Tel like '%$_POST[Tel]%'";
  }
  $sql=$sql." limit $select_from $select_limit";
  
  echo $sql;
$rst = mysql_query($sql); 

while($row=mysql_fetch_array($rst)){




問題は、ファジー クエリに結果がない場合、ここに示されている制限ステートメントが limit -2, 2 であることです
これが欲しいです今はこうなっている 問題はどこで解決すればよいでしょうか?

-----解決策--------
$page_count = ceil($rows/$page_size);
結果がない場合、$rows は 0 となり、取得された $page_count も 0 となるため、次の
$select_from = (0 - 1) ) * 2 $select_from -2 が得られます
$page_count が 0 の場合は、後で判定を追加でき、limit 句は追加しません
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。