就是从一个页面传值过来到另一个页面去查询显示,在new.php页面上查询得出$nid,$ntype,然后以<a href="news_list.php?nid=<?=$nid;?> & ntype=<?=$ntype;?>">链接<a>传到new_list.php页面上去,然后再在new_list.php上以$result="select * from news where ntype='$ntype' and nid='$nid' limit $offset,$Page_size";查询得出$nword,$ntitle,$ndate.那么这样是没有问题的,现在是翻页,比如传过来的$nid是最前的或中间的或最末的,那么要翻页,怎么根据它来翻页。

解决方案 »

  1.   

    “现在是翻页,比如传过来的$nid是最前的或中间的或最末的,那么要翻页,怎么根据它来翻页。”
    不理解你的这句话,查出来的结果本就全部匹配$nid,怎么还有其它的?
      

  2.   

    limit $offset,$Page_size";//分页是要在这里,如第一页0,10,第二页10,10 以此类推论坛上有这样的例子,置顶的那个贴子里就有,参考下这:基础编程板块常见问题及原创学习交流文章索引
      

  3.   

    就是这样的在new.php中以$result="select * from news where ntype='$ntype' order by nid desc limit $offset,$Page_size";查询得到$nid,$ntype,然后以<a href="news_list.php?nid=<?=$nid;?> & ntype=<?=$ntype;?>">链接<a>传到new_list.php页面上去,再在new_list.php上以$result="select * from news where ntype='$ntype' and nid='$nid' limit $offset,$Page_size";查询得出$nword,$ntitle,$ndate.要显示的就是得出$nword,$ntitle,$ndate.
    那么在new_list.php上怎么做翻页,谢谢!这样理解不?
      

  4.   

    $offset $Page_size你定义了没?你需要再增加一个url GET参数来传递页数,比如 
    <a href="new_list.php?nid=<?=$nid;?>&ntype=<?=$ntype;?>&page=2">第二页<a>
    $page = is_numeric($_GET['page']) ? $_GET['page'] : 1;$Page_size是每页显示的新闻条数,例如每页显示10条 $Page_size = 10
    $offset = ($page - 1) * $Page_size;三两句也说不全,#3给的链接说的很细
      

  5.   

    $sqlnew="select * from news where ntype='$ntype'";
    $queryresult=$obj->exec($sqlnew);
    $ggallrows=$obj->num_rows($queryresult);
    $arrrow=$obj->fetch($queryresult);

    $Page_size = 1;
    $page_count = ceil($ggallrows/$Page_size);

    $init='1';
    $page_len='7';
    $max_p=$page_count;
    $pages=$page_count;           //判断当前页码
    if(empty($_GET['page'])||$_GET['page']<0){
    $page=1;
    }else {
    $page=$_GET['page'];
    }
    $offset=$Page_size*($page-1);
            $result="select * from news where ntype='$ntype' and nid='$nid' limit $offset,$Page_size";
    $queryr=$obj->exec($result);
    $i == 0;
    while ($row=mysql_fetch_array($queryr)) {
       $ntitlee=$row['ntitle'];
       $nworde=$row['nword'];
       $ndatee=$row['ndate'];
    ?>
    <?
     if($i%1==1){
    ?>
               <tr>
    <? 
              } 
    ?>    
    <td>
                   这里是显示的所有内容
                           </td>
    <?
     if($i%1==1){
    ?>
                    </tr>
    <? 
              } 
    ?>
    <?
    $i++;
    }
      $page_len = ($page_len%2)?$page_len:$pagelen+1;    //页码个数
    $pageoffset = ($page_len-1)/2;       //页码个数左右偏移量
      $key='<div class="page">';
      $key.="<span>$page/$pages</span>&nbsp;";   //第几页,共几页
      if($page!=1){
    $_GET['page']=1;
      $key.="<a href=\"".$_SERVER['PHP_SELF']."?".(http_build_query($_GET))."\">首篇/a> ";    //第一页
      $_GET['page']=$page-1;
        $key.="<a href=\"".$_SERVER['PHP_SELF']."?".(http_build_query($_GET))."\">上篇</a>"; //上一页
    }else {
      $key.="首篇";//第一页
      $key.="上篇"; //上一页
    }
      if($pages>$page_len)
    {                 //如果当前页小于等于左偏移
      if($page<=$pageoffset){
      $init=1;
      $max_p = $page_len;
      }else
    {                    //如果当前页大于左偏移
                        //如果当前页码右偏移超出最大分页数
      if($page+$pageoffset>=$pages+1){
      $init = $pages-$page_len+1;
      }else
    {                  //左右偏移都存在时的计算
      $init = $page-$pageoffset;
      $max_p = $page+$pageoffset;
      }
      }
       }
        for($i=$init;$i<=$max_p;$i++){
      if($i==$page){
      $key.=' <span>'.$i.'</span>';
      } else {
    $_GET['page'] = $i;
      $key.=" <a href=\"".$_SERVER['PHP_SELF']."?".(http_build_query($_GET))."\">".$i."</a>";
      }
       }
       if($page!=$pages && $pages!=0){
      $_GET['page']=$page+1;
        $key.="<a href=\"".$_SERVER['PHP_SELF']."?".(http_build_query($_GET))."\">下篇</a>"; //下一页
    $_GET['page']=$pages;
      $key.="<a href=\"".$_SERVER['PHP_SELF']."?".(http_build_query($_GET))."\">末篇</a>"; //最后一页
      }else {
      $key.="下篇";//下一页
      $key.="末篇"; //最后一页
      }
      $key.='</div>';
    ?>
    <tr>
     <td height="14" style="text-align:center; font-size:12px; color: #7F0055;"><?=$key; ?></td>
    </tr>
    这样能看懂吗?麻烦啦!
      

  6.   

    你遇到了什么问题了吗?
    显示不上内容? while ($row=mysql_fetch_array($queryr))里并没有输出查询结果的代码
      

  7.   

    这个不是吗?
    $ntitlee=$row['ntitle'];
    $nworde=$row['nword'];
    $ndatee=$row['ndate'];
    “<td>这里是显示的所有内容</td>”就是显示“<td><?=$ntitlee;?>“<td><?=$ntitlee;?>“<td><?=$ntitlee;?></td>”