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

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

WBOY
WBOYOriginal
2016-06-13 13:36:491166browse

新手分页问题,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子句
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn