Heim > Backend-Entwicklung > PHP-Tutorial > 新手分页有关问题,PHP分页代查询功能,没有查询结果就出错

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

WBOY
Freigeben: 2016-06-13 13:36:49
Original
1335 Leute haben es durchsucht

新手分页问题,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>
Nach dem Login kopieren


现在的问题是当我模糊查询没有结果的时候,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子句
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage