欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP分页问题,求大神指导

程序员文章站 2022-06-16 11:16:58
...
 

输入关键字:

'1','key'=>$key,'pageIndex'=>$page,'pageSize'=>$page_size);//传参$ret = $client->NewsSearch($param);//执行获取新闻的方法//print_r ($ret);if(isset($ret)&&$ret){ foreach($ret->NewsSearchResult->InheritanceNews as $item) { echo "\n\n"; echo "\n"; echo ""; }} else { echo 'no user'; } //总页数 $totalPage = ceil(($item->NewsCount)/$page_size); //上一页链接 $Prev = $page - 1; if ($Prev $totalPage) { $Next = $totalPage; } //输出上一页链接 if ($page 1) { echo 'First '; echo 'Prev'; } else { echo 'First'; echo 'Prev'; } //页码数字链接 //显示的数字个数 $pageNumber = 5; //页码数算法 $pagebegin = $page - $pageNumber; if ($page == 1) { $pageend = $pageNumber; } else { $pageend = $page + $pageNumber; } if ($pagebegin $totalPage) { $pageend = $totalPage; } //一次向前翻$pageNumber行 if ($page > $pageNumber) { echo ''; } //输出动态生成的页码链接 for ($i = $pagebegin; $i ' . $i . ''; } else { echo '' . $i . ''; } } //一次向后翻$pageNumber行 if (($totalPage - $page) > 5) { echo '>>'; } //输出下一页链接 if ($page $totalPage) { echo 'Next'; echo 'Last'; } else { echo 'Next'; echo 'Last'; } ?>
代码如上:
初始查询结果如下:

问题1:分页显示的为啥在最后一条数据的上面呢?
问题2:点击下一页的时候 ,搜索条件没了?

问题3: 点击最后一页的时候报错了。


Ps:本人PHP初学者,搞得有点头大了~ 求大神们帮忙看下,万分感谢


回复讨论(解决方案)

有没有人啊

foreach循环最后少加上了一个

$item->Title

网上有分页的类,下一个看看

foreach循环最后少加上了一个吧
是的,这里确实少了一个,感谢哈

网上有分页的类,下一个看看
初学者,你不知道啊,太复杂的看起来打都看不懂。


还有人吗?剩下的2个问题都是头大问题

if($key==""){  echo "请输入搜索条件";    return;   $_SESSION['key'] = $key;//这里把KEY保存到session}

输入关键字:
=$_SESSION[key] ?>

if($key==""){  echo "请输入搜索条件";    return;   $_SESSION['key'] = $key;//这里把KEY保存到session}

输入关键字:
=$_SESSION[key] ?>


大清早,迷糊写错了。。


if($key==""){  echo "请输入搜索条件";    return;   $_SESSION['key'] = $key;//这里把KEY保存到session}

输入关键字:
=$_SESSION[key] ?>


大清早,迷糊写错了。。

iput报错了~Value这里绑定报错啦


if($key==""){  echo "请输入搜索条件";    return;   $_SESSION['key'] = $key;//这里把KEY保存到session}

输入关键字:
=$_SESSION[key] ?>


大清早,迷糊写错了。。



输入关键字:

果然还是迷糊了。应该写在else里面,如果$key不为空再写进session。

加上引号
我再看看第三个

首先,这里你得明白一个原理:url带参数过来的是GET提交的,需要用$_GET接收数据

还有,分页的时候链接需要把所有参数传递过去,比如你这里的就应该把key这个参数传递过去,即形式如:
a.php?key=$key&page=2 这样的格式
最后一点:$key = $_POST["key"]; 要改成$key = ($_POST["key"]=='')? $_GET["key"]:$_POST["key"];
最后用下面这个放在你的input里

果然还是迷糊了。应该写在else里面,如果$key不为空再写进session。

加上引号
我再看看第三个
加上引号还是有错哦。

首先,这里你得明白一个原理:url带参数过来的是GET提交的,需要用$_GET接收数据

还有,分页的时候链接需要把所有参数传递过去,比如你这里的就应该把key这个参数传递过去,即形式如:
a.php?key=$key&page=2 这样的格式
最后一点:$key = $_POST["key"]; 要改成$key = ($_POST["key"]=='')? $_GET["key"]:$_POST["key"];
最后用下面这个放在你的input里

还是input标签这里报错了~

 

输入关键字:

'1','key'=>$key,'pageIndex'=>$page,'pageSize'=>$page_size);//传参$ret = $client->NewsSearch($param);//执行获取新闻的方法//print_r ($ret);if(isset($ret)&&$ret){ foreach($ret->NewsSearchResult->InheritanceNews as $item) { echo "\n\n"; echo "\n"; echo ""; echo "
$item->Title
"; }} else { echo 'no user'; } //总页数 $totalPage = ceil(($item->NewsCount)/$page_size); //上一页链接 $Prev = $page - 1; if ($Prev $totalPage) { $Next = $totalPage; } //输出上一页链接 if ($page 1) { echo 'First '; echo 'Prev'; } else { echo 'First'; echo 'Prev'; } //页码数字链接 //显示的数字个数 $pageNumber = 5; //页码数算法 $pagebegin = $page - $pageNumber; if ($page == 1) { $pageend = $pageNumber; } else { $pageend = $page + $pageNumber; } if ($pagebegin $totalPage) { $pageend = $totalPage; } //一次向前翻$pageNumber行 if ($page > $pageNumber) { echo ''; } //输出动态生成的页码链接 for ($i = $pagebegin; $i ' . $i . '