'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 "$item->Title | \n"; echo "
"; }} else { echo 'no user'; } //总页数 $totalPage = ceil(($item->NewsCount)/$page_size); //上一页链接 $Prev = $page - 1; if ($Prev < 1) { $Prev = 1; } //下一页链接 $Next = $page + 1; if ($Next > $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 <= 0) { $pagebegin = 1; } if ($pageend > $totalPage) { $pageend = $totalPage; } //一次向前翻$pageNumber行 if ($page > $pageNumber) { echo '<<'; } //输出动态生成的页码链接 for ($i = $pagebegin; $i <= $pageend; $i++) { if ($i == $page) { echo '' . $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循环最后少加上了一个
吧
网上有分页的类,下一个看看
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 "$item->Title | \n"; echo "
"; echo "
"; }} else { echo 'no user'; } //总页数 $totalPage = ceil(($item->NewsCount)/$page_size); //上一页链接 $Prev = $page - 1; if ($Prev < 1) { $Prev = 1; } //下一页链接 $Next = $page + 1; if ($Next > $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 <= 0) { $pagebegin = 1; } if ($pageend > $totalPage) { $pageend = $totalPage; } //一次向前翻$pageNumber行 if ($page > $pageNumber) { echo '
<<'; } //输出动态生成的页码链接 for ($i = $pagebegin; $i <= $pageend; $i++) { if ($i == $page) { echo '
' . $i . ''; } else { echo '
' . $i . ''; } } //一次向后翻$pageNumber行 if (($totalPage - $page) > 5) { echo '
>>'; } //输出下一页链接 if ($page <> $totalPage) { echo '
Next'; echo '
Last'; } else { echo '
Next'; echo '
Last'; } ?>
现在代码这样的
Value不管是这样绑定还是前面那位大神说的_SESSION绑定都有错。
是不是我哪里写错了呢
'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 "$item->Title | \n"; echo "
"; echo "
"; }} else { echo 'no user'; } //总页数 $totalPage = ceil(($item->NewsCount)/$page_size); //上一页链接 $Prev = $page - 1; if ($Prev < 1) { $Prev = 1; } //下一页链接 $Next = $page + 1; if ($Next > $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 <= 0) { $pagebegin = 1; } if ($pageend > $totalPage) { $pageend = $totalPage; } //一次向前翻$pageNumber行 if ($page > $pageNumber) { echo '
<<'; } //输出动态生成的页码链接 for ($i = $pagebegin; $i <= $pageend; $i++) { if ($i == $page) { echo '
' . $i . ''; } else { echo '
' . $i . ''; } } //一次向后翻$pageNumber行 if (($totalPage - $page) > 5) { echo '
>>'; } //输出下一页链接 if ($page <> $totalPage) { echo '
Next'; echo '
Last'; } else { echo '
Next'; echo '
Last'; } ?>
现在代码这样的
Value不管是这样绑定还是前面那位大神说的_SESSION绑定都有错。
是不是我哪里写错了呢
你可能没开短标签支持吧。,
我这里现在运行良好,至于第三个问题。应该不是你的问题
你搜索新闻的时候最后一页会出现错误。。
你把关键词改成 ‘如何’ 试试 看最后一页还会不会报错。
他的信息流好像是有问题
'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 "$item->Title | \n"; echo "
"; echo "
"; }} else { echo 'no user'; } //总页数 $totalPage = ceil(($item->NewsCount)/$page_size); //上一页链接 $Prev = $page - 1; if ($Prev < 1) { $Prev = 1; } //下一页链接 $Next = $page + 1; if ($Next > $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 <= 0) { $pagebegin = 1; } if ($pageend > $totalPage) { $pageend = $totalPage; } //一次向前翻$pageNumber行 if ($page > $pageNumber) { echo '
<<'; } //输出动态生成的页码链接 for ($i = $pagebegin; $i <= $pageend; $i++) { if ($i == $page) { echo '
' . $i . ''; } else { echo '
' . $i . ''; } } //一次向后翻$pageNumber行 if (($totalPage - $page) > 5) { echo '
>>'; } //输出下一页链接 if ($page <> $totalPage) { echo '
Next'; echo '
Last'; } else { echo '
Next'; echo '
Last'; } ?>
现在代码这样的
Value不管是这样绑定还是前面那位大神说的_SESSION绑定都有错。
是不是我哪里写错了呢
你可能没开短标签支持吧。,
我这里现在运行良好,至于第三个问题。应该不是你的问题
你搜索新闻的时候最后一页会出现错误。。
你把关键词改成 ‘如何’ 试试 看最后一页还会不会报错。
他的信息流好像是有问题
还是不行,短标签支持怎么开?
'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 "$item->Title | \n"; echo "
"; echo "
"; }} else { echo 'no user'; } //总页数 $totalPage = ceil(($item->NewsCount)/$page_size); //上一页链接 $Prev = $page - 1; if ($Prev < 1) { $Prev = 1; } //下一页链接 $Next = $page + 1; if ($Next > $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 <= 0) { $pagebegin = 1; } if ($pageend > $totalPage) { $pageend = $totalPage; } //一次向前翻$pageNumber行 if ($page > $pageNumber) { echo '
<<'; } //输出动态生成的页码链接 for ($i = $pagebegin; $i <= $pageend; $i++) { if ($i == $page) { echo '
' . $i . ''; } else { echo '
' . $i . ''; } } //一次向后翻$pageNumber行 if (($totalPage - $page) > 5) { echo '
>>'; } //输出下一页链接 if ($page <> $totalPage) { echo '
Next'; echo '
Last'; } else { echo '
Next'; echo '
Last'; } ?>
现在代码这样的
Value不管是这样绑定还是前面那位大神说的_SESSION绑定都有错。
是不是我哪里写错了呢
你可能没开短标签支持吧。,
我这里现在运行良好,至于第三个问题。应该不是你的问题
你搜索新闻的时候最后一页会出现错误。。
你把关键词改成 ‘如何’ 试试 看最后一页还会不会报错。
他的信息流好像是有问题
第三个问题是,如果我输出的是一条数据就会报错,这是为啥呢
'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 "$item->Title | \n"; echo "
"."
"; }} else { echo 'no user'; } //总页数 $totalPage = ceil(($item->NewsCount)/$page_size); //上一页链接 $Prev = $page - 1; if ($Prev < 1) { $Prev = 1; } //下一页链接 $Next = $page + 1; if ($Next > $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 <= 0) { $pagebegin = 1; } if ($pageend > $totalPage) { $pageend = $totalPage; } //一次向前翻$pageNumber行 if ($page > $pageNumber) { echo '
<<'; } //输出动态生成的页码链接 for ($i = $pagebegin; $i <= $pageend; $i++) { if ($i == $page) { echo '
' . $i . ''; } else { echo '
' . $i . ''; } } //一次向后翻$pageNumber行 if (($totalPage - $page) > 5) { echo '
>>'; } //输出下一页链接 if ($page <> $totalPage) { echo '
Next'; echo '
Last'; } else { echo '
Next'; echo '
Last'; } ?>
上面这段代码运行良好,在搜索‘新闻’的时候最后一页会出非法字符。
搜索‘如何’没有错误。搜索‘英语’也没错误。
'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 "$item->Title | \n"; echo "
"."
"; }} else { echo 'no user'; } //总页数 $totalPage = ceil(($item->NewsCount)/$page_size); //上一页链接 $Prev = $page - 1; if ($Prev < 1) { $Prev = 1; } //下一页链接 $Next = $page + 1; if ($Next > $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 <= 0) { $pagebegin = 1; } if ($pageend > $totalPage) { $pageend = $totalPage; } //一次向前翻$pageNumber行 if ($page > $pageNumber) { echo '
<<'; } //输出动态生成的页码链接 for ($i = $pagebegin; $i <= $pageend; $i++) { if ($i == $page) { echo '
' . $i . ''; } else { echo '
' . $i . ''; } } //一次向后翻$pageNumber行 if (($totalPage - $page) > 5) { echo '
>>'; } //输出下一页链接 if ($page <> $totalPage) { echo '
Next'; echo '
Last'; } else { echo '
Next'; echo '
Last'; } ?>
上面这段代码运行良好,在搜索‘新闻’的时候最后一页会出非法字符。
搜索‘如何’没有错误。搜索‘英语’也没错误。
不知道为什么,就是最后只有一条数据的时候报错,搜索新闻第三页只有一条数据了就报错了,其他都没错
那个传值的没问题了。感谢你哈
你搜索‘田径运动会’,看是不是还出那个错误。如果出,就用我下面的代码
在foreach加了个if语句来判断结果。
'1','key'=>$key,'pageIndex'=>$page,'pageSize'=>$page_size);//传参$ret = $client->NewsSearch($param);//执行获取新闻的方法//print_r ($ret);if(isset($ret)&&$ret){ if (is_array($ret->NewsSearchResult->InheritanceNews)) { foreach($ret->NewsSearchResult->InheritanceNews as $item) { echo "\n
\n"; echo "$item->Title | \n"; echo "
"."
"; } }else{ echo "\n
\n"; echo "$ret->NewsSearchResult->InheritanceNews->title | \n"; echo "
"."
"; }} else { echo 'no user'; } //总页数 $totalPage = ceil(($item->NewsCount)/$page_size); //上一页链接 $Prev = $page - 1; if ($Prev < 1) { $Prev = 1; } //下一页链接 $Next = $page + 1; if ($Next > $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 <= 0) { $pagebegin = 1; } if ($pageend > $totalPage) { $pageend = $totalPage; } //一次向前翻$pageNumber行 if ($page > $pageNumber) { echo '
<<'; } //输出动态生成的页码链接 for ($i = $pagebegin; $i <= $pageend; $i++) { if ($i == $page) { echo '
' . $i . ''; } else { echo '
' . $i . ''; } } //一次向后翻$pageNumber行 if (($totalPage - $page) > 5) { echo '
>>'; } //输出下一页链接 if ($page <> $totalPage) { echo '
Next'; echo '
Last'; } else {