本帖最后由 xinshou_php 于 2010-08-25 17:19:04 编辑

解决方案 »

  1.   

    翻页的时候也要把排序的参数带过去比如这句:
    echo "<div align='left' class='shu'><a href='?rizhiziduan={$rizhiziduan}&txt_ss=".rawurlencode($txt_ss)."&curPage=1' style='color:#FF0000'>首页</a>"."&nbsp;&nbsp;";
    如果点了首页,field=time&order=desc这样的参数就没有了,排序当然成默认的了
      

  2.   


    是这样写么 echo '<th width=75><a href="?rizhiziduan={$rizhiziduan}&txt_ss=".rawurlencode($txt_ss).field=time&order=asc" style="text-decoration: underline;">时间</a></th>';
      

  3.   

    应该先或得到现在的URL$url=$_SERVER[ "REQUEST_URL "]; 
    $newUrl = $url.'?rizhiziduan={$rizhiziduan}&txt_ss=".rawurlencode($txt_ss)."&curPage=1' style='color:#FF0000'
      

  4.   

    你这样是写死的
    不能根据情况变化
    要先得到目前的Url,然后再URL后面把页码的参数加上
      

  5.   

    应该就是if($order=="asc"){
    echo '<th width=120>'.'<a href="?field=hotel_id&order=desc" style="text-decoration: underline;">酒店ID</a>'.'</th>';
    }else{
    echo '<th width=120>'.'<a href="?field=hotel_id&order=asc" style="text-decoration: underline;">酒店ID</a>'.'</th>';    
    }
    echo '<th width=80>'.'姓名'.'</th>';
    echo '<th width=200>'.'内容介绍'.'</th>';
    echo '<th width=75>'.'操作'.'</th>';
    if($order=="asc"){
        echo '<th width=75><a href="?field=time&order=desc" style="text-decoration: underline;">时间</a></th>';
    }else{
        echo '<th width=75><a href="?field=time&order=asc" style="text-decoration: underline;">时间</a></th>';
    }
    echo '</tr>';
    这段问题
      

  6.   

    是这个么rizhiziduan={$rizhiziduan}&txt_ss=".rawurlencode($txt_ss)."
      

  7.   

    本帖最后由 xuzuning 于 2010-08-26 10:42:02 编辑
      

  8.   


    按照你的写法if($order=="asc")
      $_REQUEST['order'] = 'desc';
    else
      $_REQUEST['order'] = 'asc';
    $url = http_build_query($_REQUEST);
    echo '<th width=120>'.'<a href="?' . $url . '" style="text-decoration: underline;">酒店ID</a>'.'</th>'; 
    变成了倒序了,
    比如1,2,4,5,3,当点击标题排序时,按照你的写法就变成了35421了
      

  9.   

    输出你的sql:SELECT * FROM hotel_rizhi $where1 order by ".$field." ".$order." limit  $start,$rowsPerPage
    输出你翻页链接看那看
      

  10.   

    给你一段代码/**
    *保持GET参数不变,并重新对某一变量赋值
    */
    function gurl( $k,$v ){
    $url = $_SERVER['QUERY_STRING'];
    if( $url == '' || $url == null ){
    return "?{$k}={$v}";
    }else{
    $_GET[ $k ] = $v;
    $url = '?';
    foreach( $_GET as $ki => $vi ){
    $url .= ( $url == '?' ? "{$ki}={$vi}" : "&{$ki}={$vi}" );
    }
    return $url;
    }
    }
    把你原来的翻页链接全换成这种的,比如
    echo"<a href='?rizhiziduan={$rizhiziduan}&txt_ss=".rawurlencode($txt_ss)."&curPage=$prevPage'><img src='img/prev.gif'/></a>"; 

    改成
    echo gurl( "curPage",$prevPage );用函数的好处就是比较简单,而且不会有遗漏,如果你原来的GETQUERY里没有这个变量,他也会自动加上
      

  11.   

    是这样的SELECT * FROM hotel_rizhi where 1 order by id asc limit  0,10
      

  12.   


    这样???
    $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}%'"; 
    }
    $sql1 = "SELECT count(*) as countnum FROM hotel_rizhi $where1";
    $result1=mysql_fetch_array(mysql_query($sql1));
    $countnum = $result1['countnum'];
    if(!$countnum) die("<script>alert('查询的数据不存在');window.location='chaxun_rizhi.php';</script>");
    /*******************排序*************************/
    $field=$_REQUEST["field"];
    if($field==""){
    $field="id";
    }
    else{
    $field=$_REQUEST["field"];
    }$order=$_REQUEST["order"];
    if($order==""){
    $order="asc";
    }
    else{
    $order=$_REQUEST["order"];
    }$rowsPerPage=10; 
    $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 $where1 order by ".$field." ".$order." limit  $start,$rowsPerPage"; 
    $result1=mysql_query($sel) or die("查询失败"); 
    /*******************输出表格***************/
    echo "<table  border=1 width=700 cellspacing=0 style=border-collapse:collapse id=tbColor>";
    echo '<tr style=background-image:url(img/new_hader_27.jpg) height=30 class="chaxun_head">';
    echo '<th width=50>'.'选择'.'</th>';
    if($order=="asc"){
    echo '<th width=120>'.'<a href="?field=hotel_id&order=desc" style="text-decoration: underline;">酒店ID</a>'.'</th>';
    }else{
    echo '<th width=120>'.'<a href="?field=hotel_id&order=asc" style="text-decoration: underline;">酒店ID</a>'.'</th>';
    }
    echo '<th width=80>'.'姓名'.'</th>';
    echo '<th width=200>'.'内容介绍'.'</th>';
    echo '<th width=75>'.'操作'.'</th>';
    if($order=="asc"){
        echo '<th width=75><a href="?field=time&order=desc" style="text-decoration: underline;">时间</a></th>';
    }else{
    echo '<th width=75><a href="?field=time&order=asc" style="text-decoration: underline;">时间</a></th>';
    }
    echo '</tr>';
    //循环输出表中各个字段值 
    echo '<form action="delect_rz.php" method=post>'; 
    while ($row = mysql_fetch_array($result1)) {
    ?>
    <tr align="center" class="shu">
    <td><input type=checkbox name="id[]" value=" <?php echo $row['id'] ?>"></td>
    <td><?php echo $row['hotel_id']?></td>
    <td><?php echo $row['name']?></td>
    <td><?php echo $row['content']?></td>
    <td><?php echo $row['operating']?></td>
    <td><?php echo $row['time']?></td>
    </tr>
    <?php
    }
    echo '</form>';
    echo '<div align=left>'.'<input type=submit value="删除所选" onclick="return delconfirm()">'.'</div>'; 
    echo "<div align=right class=shu><a href='?rizhiziduan={$rizhiziduan}&txt_ss=".rawurlencode($txt_ss)."&curPage=1' style='color:#FF0000'>首页</a>"."&nbsp;&nbsp;";
    if($page>1) { 
        $prevPage=($page-1)<1?1:$page-1;
        echo"echo gurl( 'curPage',$prevPage )<img src='img/prev.gif'/></a>"; 

    echo "&nbsp;"."&nbsp;";
    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 ""."&nbsp;&nbsp;&nbsp;<a href='?rizhiziduan={$rizhiziduan}&txt_ss=".rawurlencode($txt_ss)."&curPage=$maxPage' style='color:#FF0000'>尾页</a>"."&nbsp;&nbsp;&nbsp;".""
    ?>
      

  13.   

    blank?rizhiziduan=&txt_ss=&curPage=2
      

  14.   


    那你就在点击标题的时候加上这个参数呀,href连接后边加上&order='$order'//排列方式,实际就是通过这个传值,以此来保证在加载这个页面的时候$order=$_REQUEST["order"];这句能获取到值就行了。【日记网
      

  15.   

    这就是按照你说的改的,还是不行<?php
    $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}%'"; 
    }
    $sql1 = "SELECT count(*) as countnum FROM hotel_rizhi $where1";
    $result1=mysql_fetch_array(mysql_query($sql1));
    $countnum = $result1['countnum'];
    if(!$countnum) die("<script>alert('查询的数据不存在');window.location='chaxun_rizhi.php';</script>");
    /*******************排序*************************/
    $field=$_REQUEST["field"];
    if($field==""){
    $field="id";
    }
    else{
    $field=$_REQUEST["field"];
    }$order=$_REQUEST["order"];
    if($order==""){
    $order="asc";
    }
    else{
    $order=$_REQUEST["order"];
    }$rowsPerPage=10; 
    $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 $where1 order by ".$field." ".$order." limit  $start,$rowsPerPage"; 
    $result1=mysql_query($sel) or die("查询失败"); 
    /*******************输出表格***************/
    echo "<table  border=1 width=700 cellspacing=0 style=border-collapse:collapse id=tbColor>";
    echo '<tr style=background-image:url(img/new_hader_27.jpg) height=30 class="chaxun_head">';
    echo '<th width=50>'.'选择'.'</th>';
    if($order=="asc"){
    echo '<th width=120>'.'<a href="?field=hotel_id&order=desc&rizhiziduan={$rizhiziduan}&txt_ss=".rawurlencode($txt_ss)."" style="text-decoration: underline;">酒店ID</a>'.'</th>';
    }else{
    echo '<th width=120>'.'<a href="?field=hotel_id&order=asc&rizhiziduan={$rizhiziduan}&txt_ss=".rawurlencode($txt_ss)."" style="text-decoration: underline;">酒店ID</a>'.'</th>';
    }
    echo '<th width=80>'.'姓名'.'</th>';
    echo '<th width=200>'.'内容介绍'.'</th>';
    echo '<th width=75>'.'操作'.'</th>';
    if($order=="asc"){
        echo '<th width=75><a href="?field=time&order=desc&rizhiziduan={$rizhiziduan}&txt_ss=".rawurlencode($txt_ss)."" style="text-decoration: underline;">时间</a></th>';
    }else{
    echo '<th width=75><a href="?field=time&order=asc&rizhiziduan={$rizhiziduan}&txt_ss=".rawurlencode($txt_ss)."" style="text-decoration: underline;">时间</a></th>';
    }
    echo '</tr>';
    $order=$_REQUEST["order"];
    //循环输出表中各个字段值 
    echo '<form action="delect_rz.php" method=post>'; 
    while ($row = mysql_fetch_array($result1)) {
    ?>
    <tr align="center" class="shu">
    <td><input type=checkbox name="id[]" value=" <?php echo $row['id'] ?>"></td>
    <td><?php echo $row['hotel_id']?></td>
    <td><?php echo $row['name']?></td>
    <td><?php echo $row['content']?></td>
    <td><?php echo $row['operating']?></td>
    <td><?php echo $row['time']?></td>
    </tr>
    <?php
    }
    echo '</form>';
    echo '<div align=left>'.'<input type=submit value="删除所选" onclick="return delconfirm()">'.'</div>'; 
    echo "<div align=right class=shu><a href='?rizhiziduan={$rizhiziduan}&txt_ss=".rawurlencode($txt_ss)."&curPage=1' style='color:#FF0000'>首页</a>"."&nbsp;&nbsp;";
    if($page>1) { 
        $prevPage=($page-1)<1?1:$page-1;
        echo"<a href='?rizhiziduan={$rizhiziduan}&order={$order}&txt_ss=".rawurlencode($txt_ss)."&curPage=$prevPage'><img src='img/prev.gif'/></a>"; 

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

    echo ""."&nbsp;&nbsp;&nbsp;<a href='?rizhiziduan={$rizhiziduan}&txt_ss=".rawurlencode($txt_ss)."&curPage=$maxPage' style='color:#FF0000'>尾页</a>"."&nbsp;&nbsp;&nbsp;".""
    ?>
      

  16.   

    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>"; 

    echo "&nbsp;"."&nbsp;";
    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>";
    } if($order=="asc"){
    echo '<th width=120>'.'<a href="?&order=$order&field=hotel_id&order=desc" style="text-decoration: underline;">酒店ID</a>'.'</th>';
    }else{
    echo '<th width=120>'.'<a href="?&order=$order&field=hotel_id&order=asc" style="text-decoration: underline;">酒店ID</a>'.'</th>';
    }