比如:进入页面后显示有6页,当我点击到第三页或者别的页的时候,我在关键字搜索框里输入条件,点击查询后,显示共有2页内容,当前为第三页。当我往前翻页的时候,查询出的数据都没有错。翻页之后就显示正常了,共2页,当前为1页或者2页。这是怎么回事啊。
$rizhiziduan = isset($_POST['rizhiziduan'])?$_POST['rizhiziduan']:(isset($_GET['rizhiziduan'])?$_GET['rizhiziduan']:"");
$txt_ss = isset($_POST['txt_ss'])?$_POST['txt_ss']:(isset($_GET['txt_ss'])?$_GET['txt_ss']:"");    
    
//输出表头
echo "<table  border=1 width=700 cellspacing=0 style=border-collapse:collapse>"; 
echo "<tr style=background-image:url(img/new_hader_27.jpg) height=30 style=color:#ffffff><th>hotel_id</th><th>name</th><th>content</th><th>operating</th><th>time</th></tr>"; 
//查询数据
if( empty($rizhiziduan) || empty($txt_ss))
    $query1 = "SELECT * FROM hotel_rizhi";
else
    $query1 = "SELECT * FROM hotel_rizhi where $rizhiziduan like '%{$txt_ss}%'"; //在mytable表上执行SQL语句 
    
$result1=mysql_query($query1) or die("<script>alert('查询的数据不存在');window.location='chaxun_rizhi.php';</script>"); 
$rowsPerPage=5;
$row = mysql_fetch_assoc($result1); 
$numrows=$row[0]; 
$pages=intval($numrows/$rowsPerPage); 
if ($numrows%$rowsPerPage) 
$pages++;
$maxRowCount=mysql_num_rows($result1);if($maxRowCount%$rowsPerPage==0){
    $maxPage=(int)($maxRowCount/$rowsPerPage);
}else {
    $maxPage=(int)($maxRowCount/$rowsPerPage)+1;
}
if (isset($_GET['curPage'])){
    $page=$_GET['curPage'];
}else {
    $page=1;
}
$start=$rowsPerPage*($page-1);
$sel = $query1 . " order by id limit $start,$rowsPerPage";
$result=mysql_query($sel) or die("查询失败");//循环输出表中各个字段值
while ($row = mysql_fetch_array($result)) {
    echo '<tr align="center" class="shu">';
    echo '<td>'.$row['hotel_id'].'</td>';
    echo '<td>'.$row['name'].'</td>';
    echo '<td>'.$row['content'].'</td>';
    echo '<td>'.$row['operating'].'</td>';
    echo '<td>'.$row['time'].'</td>';
    echo '</tr>';
}if($page>1){
    $prevPage=$page-1;
    echo "<a href='?rizhiziduan={$rizhiziduan}&txt_ss=".rawurlencode($txt_ss)."&curPage=$prevPage'><img src='img/prev.gif'/></a>";
}
if ($page<$maxPage){
    $nextPage=$page+1;
    echo "<a href='?rizhiziduan={$rizhiziduan}&txt_ss=".rawurlencode($txt_ss)."&curPage=$nextPage'><img src='img/next.gif'/></a>";
}
echo "</table>";
echo "<div align='left' class='shu'>共有".$maxPage."页&nbsp;当前为第".$page."页"; 

解决方案 »

  1.   


    $maxRowCount=mysql_num_rows($result1);
    if($maxRowCount%$rowsPerPage==0){
        $maxPage=(int)($maxRowCount/$rowsPerPage);
    }else {
        $maxPage=(int)($maxRowCount/$rowsPerPage)+1;
    }
    改成
    $maxPage = $pages;
    }[/code]
      

  2.   

    这就是按照你那个改的 ,搜索不了
    echo "<table  border=1 width=700 cellspacing=0 style=border-collapse:collapse>"; 
    echo "<tr style=background-image:url(img/new_hader_27.jpg) height=30 style=color:#ffffff><th>hotel_id</th><th>name</th><th>content</th><th>operating</th><th>time</th></tr>";
    $rizhiziduan = isset($_POST['rizhiziduan'])?$_POST['rizhiziduan']:(isset($_GET['rizhiziduan'])?$_GET['rizhiziduan']:"");
    $txt_ss = isset($_POST['txt_ss'])?$_POST['txt_ss']:(isset($_GET['txt_ss'])?$_GET['txt_ss']:"");$where1 = "where 1";
    if(!empty($rizhiziduan) && !empty($txt_ss)){
        $where1 .= " and $rizhiziduan like '%{$txt_ss}%'"; 
    }
    $sql = "SELECT count(*) as countnum FROM hotel_rizhi $where1";
    $result1=mysql_fetch_array(mysql_query($sql));
    $countnum = $result1['countnum'];
    if(!$countnum) die("<script>alert('查询的数据不存在');window.location='chaxun_rizhi.php';</script>");$rowsPerPage=5; 
    $maxPage=ceil($countnum/$rowsPerPage); 
    $page=isset($_GET['curPage'])?intval($_GET['curPage']):1; 
    $page = $page<1?1:$page;
    $page = $page>$maxPage?$maxPage:$page;$start=$rowsPerPage*($page-1);
    $sel = "SELECT * FROM hotel_rizhi $where order by id limit $start,$rowsPerPage"; 
    $result1=mysql_query($sel) or die("查询失败"); 
    //循环输出表中各个字段值 
    while ($row = mysql_fetch_array($result1)) {
        echo '<tr align="center" class="shu">';
        echo '<td>'.$row['hotel_id'].'</td>';
        echo '<td>'.$row['name'].'</td>';
        echo '<td>'.$row['content'].'</td>';
        echo '<td>'.$row['operating'].'</td>';
        echo '<td>'.$row['time'].'</td>';
        echo '</tr>';
    }
    if($page>1) { 
        $prevPage=($page-1)<1?1:$page-1;
        echo"<a href='?rizhiziduan={$rizhiziduan}&txt_ss=".rawurlencode($txt_ss)."&curPage=$prevPage'><img src='img/prev.gif'/></a>"; 

    if ($page<$maxPage) { 
        $nextPage=($page+1)>$maxPage?$maxPage:$page+1;
        echo"<a href='?rizhiziduan={$rizhiziduan}&txt_ss=".rawurlencode($txt_ss)."&curPage=$nextPage'><img src='img/next.gif'/></a>"; 

    echo "</table>"; 
    echo "<div align='left' class='shu'>共有".$maxPage."页&nbsp;当前为第".$page."页";