> 백엔드 개발 > PHP 튜토리얼 > 新手分页有关问题,PHP分页代查询功能,没有查询结果就出错

新手分页有关问题,PHP分页代查询功能,没有查询结果就出错

WBOY
풀어 주다: 2016-06-13 13:36:49
원래의
1347명이 탐색했습니다.

新手分页问题,PHP分页代查询功能,没有查询结果就出错?

PHP code
<!--

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 = $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=%24pre_page">前一页</a> "; 
$pagenav .= "<a href="?page=%24next_page">后一页</a> "; 
$pagenav .= "<a href="?page=%24page_count">末页</a>"; 
$pagenav.=" 跳到<select name="topage" size="1" onchange='window.location=\"?page=\"+this.value'>\n"; 
for($i=1;$i$i\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)){


</select>
로그인 후 복사


现在的问题是当我模糊查询没有结果的时候,limit 这里显示的语句就是 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子句
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿