php 数字页码,php分页原理!!!为什么数字页码部分不输出。。代码如下

php分页原理!!!为什么数字页码部分不输出。。代码如下

mip版  关注:122  答案:2  悬赏:70

解决时间 2021-01-28 13:48

fc943abfe508a29d85d10836db714bff.png

已解决

2021-01-27 23:14

include ("connect.php");

$page=isset($_GET["page"])?$_GET["page"]:1;//设置当前页码值

mysql_select_db("page");

$sql="select * from page";

$result=mysql_query($sql);

$total=mysql_num_rows($result);//总条数

$pagesize=5;

$pagelen=7;

$pages=ceil($total/$pagesize);//总页数

$pagelen=($pagelen%2)?$pagelen:$pagelen+1;//页码数,奇数对称

$pageoffset=($pagelen-1)/2;//页码左右偏移

$init=1;//第一个页码

$end=$pages;//最后一个页码

$htmlcode="

";//输出的网页代码

$path=$_SERVER[REQUEST_URI];//获得路径

$path=parse_url($path);

$path=$path[path];

//内容

$sql="select * from page limit ".$pagesize*($page-1).",$pagesize";

$result=mysql_query($sql);

while($arr=mysql_fetch_array($result)){

echo "

$arr[name] | $arr[sex]
";

}

//页码

if($page!=1){//当前为第一页则不显示第一页和上一页

$html.="第一页";

$html.="上一页";

}

//设置$init,$end

if($pages>$pagelen){//总页数大于页码数

if($page<=$pageoffset){//当前页小于左偏移

$end=$pagelen;

$init=1;

}else if($page+$pageoffset>$pages){//当前页加右偏移大于总页数

$init=$pages-$pagelen+1;

}else{//左右偏移都有

$init=$page-$pageoffset;

$end=$page+$pageoffset;

}

}

//数字页码--------------------------------为什么不输出????

for($i=$init;$i

if($page==$i)

$htmlcode.="$i";

else $htmlcode.="$i";

}

if($page!=$pages){//当前为最后一页则不输出下一页和最后一页

$html.="下一页";

$html.="最后一页";

}

$html.="

";

echo $html;

mysql_close($con);

?>

为什么数字页码部分不输出??什么上一页下一页的都能输出。。

最佳答案

f1cf56add82ce022270cd59767b85027.png

2021-01-28 00:12

参考下:

1.

2. $article_arr=explode("

always;\">

",$article['content']);

3. $page_cnt=count($article_arr);

4. if($page){

5. if($page>$page_cnt) $page=$page_cnt;

6. if($page < 1)$page=1;

7. $article["content"]=$article_arr[$page-1];

8. }else{

9. $article["content"]=$article_arr[0];

10. }

11. if($page_cnt>1){

12. for($i=1;$i<=$page_cnt;$i++){

13. if($page==$i){

14. $page_na.="

{$i}";

15. }else{

16. $url=$_SERVER['SCRIPT_NAME'].'?id='.$article_id.'&page='.$i;

17. $page_na.="

{$i}";

18. }

19. }

20. $k = $_REQUEST['page'];

21. $prev_url = $_SERVER['SCRIPT_NAME'].'?id='.$article_id.'&page='.($k-1);

22. if($k==NULL)$k=1;

23. $next_url = $_SERVER['SCRIPT_NAME'].'?id='.$article_id.'&page='.($k+1);

24.

25.

26. if(($k+1)>$page_cnt){

27. $page_nav=$page_na."

class=\"next\">上一页

class=\"next\">下一页

";

28. }else{

29. if(($k-1)<=0){

30. $page_nav=$page_na."

class=\"next\">上一页

href=\"{$next_url}\" class=\"next\">下一页

";

31. }else{

32. $page_nav=$page_na."

class=\"next\">上一页

href=\"{$next_url}\" class=\"next\">下一页

";

33. }

34. }

35.

36. }

37. $smarty->assign('page_nav',$page_nav);

38.

全部回答

cbd49701f51f25435ac7d211b7df3537.png

1楼

2021-01-28 00:38

这是我写的页码部分代码,请您参考一下

// page num star

$all_p=$totalRows_rec_news/$maxRows_rec_news;

if ($all_p>(int)$all_p)$all_p=(int)$all_p+1;

else $all_p=(int)$all_p;

if(!isset($_GET['pageNum_rec_news'])) $_GET['pageNum_rec_news']=0;

for

($n=1; $n<=$all_p; ++$n ) { if

($n==($_GET['pageNum_rec_news']+1)) { ?>

class="page_no"><?php echo

" ".$n." ";

?>

class="arial_101" href="<?php printf("%s?pageNum_rec_news=%d%s",

$currentPage, min($totalPages_rec_news, $pageNum_rec_news=($n-1)),

$queryString_rec_news); ?>"><?php echo

" ".$n." "; ?>

?> //page num end

我要举报

如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

点此我要举报以上信息!

推荐资讯

大家都在看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值