ホームページ  >  記事  >  バックエンド開発  >  PHP のページネーションの問題。ガイダンスを求めてください。

PHP のページネーションの問題。ガイダンスを求めてください。

WBOY
WBOYオリジナル
2016-06-23 14:10:28699ブラウズ

<html> <head> <meta charset="UTF-8"></head> <script type="text/javascript" src="http://localhost/jquery.js" ></script><script type="text/javascript" > function aurl(i){ var url = window.location.href; if(url.indexOf('?')>0){   url=url.substring(0,url.indexOf('?')) ;} url=url+"?page="+i; document.getElementById("documentForm").action=url; document.getElementById("insu").click();  }</script><body    > <form   id="documentForm"   method="POST"> <p> 输入关键字:<br/> <input type="text" name="key" size="6" maxlength="6" /> </p> <p> <input type="submit" name="submit" id="insu" value="搜索!"/> </p> </form> <?php$key = $_POST["key"]; if($key==""){  echo "请输入搜索条件";	return;}//取得页码$page = @$_GET['page'];//定义每页显示信息条数$page_size = 10;//当页码参数为空时,将页码设为1if ($page == ""){    $page = 1;}$wsdl="http://pica.chalwin.com/service/JsAccessWebService.asmx?wsdl";$client = new SoapClient($wsdl);$param = array('NodeId'=>'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<table border=1 cellspacing='0' width='30%'>\n<tr>";		echo "<td>$item->Title</td>\n";		echo "</tr>";	}}	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 '<span><a href="javascript:aurl(1)">First </a></span>';			echo '<span><a href="javascript:aurl(' . $Prev . ')">Prev</a></span>';		}		else		{			echo '<span>First</span>';			echo '<span>Prev</span>';		}		//页码数字链接		//显示的数字个数		$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 '<span><a href="javascript:aurl('. ($page - $pageNumber) . ')"><<</a></span>';		}		//输出动态生成的页码链接		for ($i = $pagebegin; $i <= $pageend; $i++)		{			if ($i == $page)			{				echo '<span style="background:#FFCC99">' . $i . '</span>';			}			else			{				echo '<span><a href="javascript:aurl('. $i . ')">' . $i . '</a></span>';			}		}		//一次向后翻$pageNumber行		if (($totalPage - $page) > 5)		{			echo '<span><a href="javascript:aurl('. ($page + $pageNumber) . ')">>></a></span>';		}		//输出下一页链接		if ($page <> $totalPage)		{			echo '<span><a href="javascript:aurl('. $Next .')">Next</a></span>';			echo '<span><a href="javascript:aurl('. $totalPage .')">Last</a></span>';		}		else		{			echo '<span>Next</span>';			echo '<span>Last</span>';		}	?></body>  </html> 

コードは上記のとおりです:
最初のクエリ結果は次のとおりです:

質問 1: ページング表示が最後のデータ部分の上にあるのはなぜですか?
質問 2: 次のページをクリックすると、検索条件が消えてしまいますか?

質問 3: 最後のページをクリックするとエラーが発生しました。


追伸: 私は PHP の初心者で、少し混乱しています~助けてください、ありがとうございます


ディスカッション (解決策) に返信してください

誰か追加してください。 foreach ループの最後に f16b1740fad44fb09bfe928bcc527e08 を追加しました


インターネットにはページング クラスがあります。次のクラスを見てみましょう

foreach ループは最終的に f16b1740fad44fb09bfe928bcc527e08 を追加しました

はい、確かにここに 1 つありません。ありがとうございます


インターネット上にページネーションのクラスがあります。次にそれを確認してください

初心者の皆さん、あまりにも複雑なので理解することもできません。


他に誰かいますか?残りの2問が大問です


if($key==""){  echo "请输入搜索条件";    return;   $_SESSION['key'] = $key;//这里把KEY保存到session}<p> 输入关键字:<br/> <input type="text" name="key" size="6" maxlength="6" /><?=$_SESSION[key] ?> </p>

if($key==""){  echo "请输入搜索条件";    return;   $_SESSION['key'] = $key;//这里把KEY保存到session}<p> 输入关键字:<br/> <input type="text" name="key" size="6" maxlength="6" /><?=$_SESSION[key] ?> </p>

早朝だったので混乱して間違った問題を書いてしまいました。 。

98207449b90a5b523a7a15af5c149dff"/>

if($key==""){  echo "请输入搜索条件";    return;   $_SESSION['key'] = $key;//这里把KEY保存到session}<p> 输入关键字:<br/> <input type="text" name="key" size="6" maxlength="6" /><?=$_SESSION[key] ?> </p>

朝、混乱して書き間違えてしまいました。 。
98207449b90a5b523a7a15af5c149dff"/>
iput がエラーを報告しました~Valueこちら バインディングエラー

if($key==""){  echo "请输入搜索条件";    return;   $_SESSION['key'] = $key;//这里把KEY保存到session}<p> 输入关键字:<br/> <input type="text" name="key" size="6" maxlength="6" /><?=$_SESSION[key] ?> </p>

早朝、混乱して間違ったことを書いてしまいました。 。
98207449b90a5b523a7a15af5c149dff"/>

そうだね

、それでもぼかしは機能します。 $key が空でない場合は、else に書き込んでからセッションに書き込む必要があります。

3c0ae5b49065bd99c4dffa7d77969527"/>

引用符を追加します
3 番目を見てみましょう

まず第一に、ここでの原則を理解する必要があります: パラメータ付きの URL は GET によって送信され、データを受信するには $_GET を使用する必要があります

また、ページ分割するとき、リンクはたとえば、ここでは key パラメータを次の形式で渡す必要があります:
a.php?key=$key&page=2
最後のポイント: $key = $_POST["key"] ; を $ key = ($_POST["key"]=='') に変更する必要がありますか? $_GET["key"]:$_POST["key"]; 最後に、次のように入力します。
50a2e80d24af6d72b47ef75d023fa641"/>

確かに、私はまだ混乱しています。 。 $key が空でない場合は、else に書き込んでからセッションに書き込む必要があります。
3c0ae5b49065bd99c4dffa7d77969527"/>

引用符を追加します

3 番目の引用符はまだ間違っています。

まず第一に、ここでの原則を理解する必要があります: パラメータ付きの URL は GET によって送信され、データを受信するには $_GET を使用する必要があります

また、ページ分割するとき、リンクはすべてのパラメータを渡す必要があります。たとえば、ここにあるものは次のようになります。 key パラメータは次の形式で渡されます:

a.php?key=$key&page=2

最後のポイント: $key = $_POST["key"]; $key = ($_POST[" key"]=='') に変更する必要がありますか? $_GET["key"]:$_POST["key"]; 最後に、次のように入力します
45560ce70ffb853922faa3c0dda6e348"/>
ここでも入力でエラーが報告されます。 tag~

<form   id="documentForm"   method="POST"> <p> 输入关键字:<br/> <input type="text" name="key" size="6" maxlength="6" value="<?=$_SESSION[key] ?>"/> </p> <p> <input type="submit" name="submit" id="insu" value="搜索!"/> </p> </form> 

現在のコードはこんな感じ

値はこんな感じで紐付けられています きっと以前巨匠が言っていた _SESSION バインディングが間違っているのでしょう。

どこか間違ったことを書いたでしょうか?

<html> <head> <meta charset="UTF-8"></head> <script type="text/javascript" src="http://localhost/jquery.js" ></script><script type="text/javascript" > function aurl(i){ var url = window.location.href; if(url.indexOf('?')>0){   url=url.substring(0,url.indexOf('?')) ;} url=url+"?page="+i; document.getElementById("documentForm").action=url; document.getElementById("insu").click();  }</script><body > <form   id="documentForm"   method="POST"> <p> 输入关键字:<br/> <input type="text" name="key" size="6" maxlength="6" value="<?php echo $key ?>"/> </p> <p> <input type="submit" name="submit" id="insu" value="搜索!"/> </p> </form> <?php//$key = $_POST["key"]; $key = ($_POST["key"]=='')? $_GET["key"]:$_POST["key"];if($key==""){  echo "请输入搜索条件";	return;}else{	 $_SESSION['key'] = $key;//这里把KEY保存到session}//取得页码$page = @$_GET['page'];//定义每页显示信息条数$page_size = 10;//当页码参数为空时,将页码设为1if ($page == ""){    $page = 1;}$wsdl="http://pica.chalwin.com/service/JsAccessWebService.asmx?wsdl";$client = new SoapClient($wsdl);$param = array('NodeId'=>'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<table border=1 cellspacing='0' width='30%'>\n<tr>";		echo "<td>$item->Title</td>\n";		echo "</tr>";		echo "</table>";	}}	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 '<span><a href="javascript:aurl(1)">First </a></span>';			echo '<span><a href="javascript:aurl(' . $Prev . ')">Prev</a></span>';		}		else		{			echo '<span>First</span>';			echo '<span>Prev</span>';		}		//页码数字链接		//显示的数字个数		$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 '<span><a href="javascript:aurl('. ($page - $pageNumber) . ')"><<</a></span>';		}		//输出动态生成的页码链接		for ($i = $pagebegin; $i <= $pageend; $i++)		{			if ($i == $page)			{				echo '<span style="background:#FFCC99">' . $i . '</span>';			}			else			{				echo '<span><a href="javascript:aurl('. $i . ')">' . $i . '</a></span>';			}		}		//一次向后翻$pageNumber行		if (($totalPage - $page) > 5)		{			echo '<span><a href="javascript:aurl('. ($page + $pageNumber) . ')">>></a></span>';		}		//输出下一页链接		if ($page <> $totalPage)		{			echo '<span><a href="javascript:aurl('. $Next .')">Next</a></span>';			echo '<span><a href="javascript:aurl('. $totalPage .')">Last</a></span>';		}		else		{			echo '<span>Next</span>';			echo '<span>Last</span>';		}	?></body>  </html> 

现在代码这样的

Value不管是这样绑定还是前面那位大神说的_SESSION绑定都有错。
是不是我哪里写错了呢

你可能没开短标签支持吧。,
 4a7ec0ab6f64a8d967bb21e5323736ce"/>

我这里现在运行良好,至于第三个问题。应该不是你的问题
你搜索新闻的时候最后一页会出现错误。。
你把关键词改成 ‘如何’ 试试  看最后一页还会不会报错。
他的信息流好像是有问题


<html> <head> <meta charset="UTF-8"></head> <script type="text/javascript" src="http://localhost/jquery.js" ></script><script type="text/javascript" > function aurl(i){ var url = window.location.href; if(url.indexOf('?')>0){   url=url.substring(0,url.indexOf('?')) ;} url=url+"?page="+i; document.getElementById("documentForm").action=url; document.getElementById("insu").click();  }</script><body > <form   id="documentForm"   method="POST"> <p> 输入关键字:<br/> <input type="text" name="key" size="6" maxlength="6" value="<?php echo $key ?>"/> </p> <p> <input type="submit" name="submit" id="insu" value="搜索!"/> </p> </form> <?php//$key = $_POST["key"]; $key = ($_POST["key"]=='')? $_GET["key"]:$_POST["key"];if($key==""){  echo "请输入搜索条件";	return;}else{	 $_SESSION['key'] = $key;//这里把KEY保存到session}//取得页码$page = @$_GET['page'];//定义每页显示信息条数$page_size = 10;//当页码参数为空时,将页码设为1if ($page == ""){    $page = 1;}$wsdl="http://pica.chalwin.com/service/JsAccessWebService.asmx?wsdl";$client = new SoapClient($wsdl);$param = array('NodeId'=>'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<table border=1 cellspacing='0' width='30%'>\n<tr>";		echo "<td>$item->Title</td>\n";		echo "</tr>";		echo "</table>";	}}	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 '<span><a href="javascript:aurl(1)">First </a></span>';			echo '<span><a href="javascript:aurl(' . $Prev . ')">Prev</a></span>';		}		else		{			echo '<span>First</span>';			echo '<span>Prev</span>';		}		//页码数字链接		//显示的数字个数		$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 '<span><a href="javascript:aurl('. ($page - $pageNumber) . ')"><<</a></span>';		}		//输出动态生成的页码链接		for ($i = $pagebegin; $i <= $pageend; $i++)		{			if ($i == $page)			{				echo '<span style="background:#FFCC99">' . $i . '</span>';			}			else			{				echo '<span><a href="javascript:aurl('. $i . ')">' . $i . '</a></span>';			}		}		//一次向后翻$pageNumber行		if (($totalPage - $page) > 5)		{			echo '<span><a href="javascript:aurl('. ($page + $pageNumber) . ')">>></a></span>';		}		//输出下一页链接		if ($page <> $totalPage)		{			echo '<span><a href="javascript:aurl('. $Next .')">Next</a></span>';			echo '<span><a href="javascript:aurl('. $totalPage .')">Last</a></span>';		}		else		{			echo '<span>Next</span>';			echo '<span>Last</span>';		}	?></body>  </html> 

现在代码这样的

Value不管是这样绑定还是前面那位大神说的_SESSION绑定都有错。
是不是我哪里写错了呢

你可能没开短标签支持吧。,
 4a7ec0ab6f64a8d967bb21e5323736ce"/>

我这里现在运行良好,至于第三个问题。应该不是你的问题
你搜索新闻的时候最后一页会出现错误。。
你把关键词改成 ‘如何’ 试试  看最后一页还会不会报错。
他的信息流好像是有问题
还是不行,短标签支持怎么开?


<html> <head> <meta charset="UTF-8"></head> <script type="text/javascript" src="http://localhost/jquery.js" ></script><script type="text/javascript" > function aurl(i){ var url = window.location.href; if(url.indexOf('?')>0){   url=url.substring(0,url.indexOf('?')) ;} url=url+"?page="+i; document.getElementById("documentForm").action=url; document.getElementById("insu").click();  }</script><body > <form   id="documentForm"   method="POST"> <p> 输入关键字:<br/> <input type="text" name="key" size="6" maxlength="6" value="<?php echo $key ?>"/> </p> <p> <input type="submit" name="submit" id="insu" value="搜索!"/> </p> </form> <?php//$key = $_POST["key"]; $key = ($_POST["key"]=='')? $_GET["key"]:$_POST["key"];if($key==""){  echo "请输入搜索条件";	return;}else{	 $_SESSION['key'] = $key;//这里把KEY保存到session}//取得页码$page = @$_GET['page'];//定义每页显示信息条数$page_size = 10;//当页码参数为空时,将页码设为1if ($page == ""){    $page = 1;}$wsdl="http://pica.chalwin.com/service/JsAccessWebService.asmx?wsdl";$client = new SoapClient($wsdl);$param = array('NodeId'=>'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<table border=1 cellspacing='0' width='30%'>\n<tr>";		echo "<td>$item->Title</td>\n";		echo "</tr>";		echo "</table>";	}}	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 '<span><a href="javascript:aurl(1)">First </a></span>';			echo '<span><a href="javascript:aurl(' . $Prev . ')">Prev</a></span>';		}		else		{			echo '<span>First</span>';			echo '<span>Prev</span>';		}		//页码数字链接		//显示的数字个数		$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 '<span><a href="javascript:aurl('. ($page - $pageNumber) . ')"><<</a></span>';		}		//输出动态生成的页码链接		for ($i = $pagebegin; $i <= $pageend; $i++)		{			if ($i == $page)			{				echo '<span style="background:#FFCC99">' . $i . '</span>';			}			else			{				echo '<span><a href="javascript:aurl('. $i . ')">' . $i . '</a></span>';			}		}		//一次向后翻$pageNumber行		if (($totalPage - $page) > 5)		{			echo '<span><a href="javascript:aurl('. ($page + $pageNumber) . ')">>></a></span>';		}		//输出下一页链接		if ($page <> $totalPage)		{			echo '<span><a href="javascript:aurl('. $Next .')">Next</a></span>';			echo '<span><a href="javascript:aurl('. $totalPage .')">Last</a></span>';		}		else		{			echo '<span>Next</span>';			echo '<span>Last</span>';		}	?></body>  </html> 

现在代码这样的

Value不管是这样绑定还是前面那位大神说的_SESSION绑定都有错。
是不是我哪里写错了呢

你可能没开短标签支持吧。,
 4a7ec0ab6f64a8d967bb21e5323736ce"/>

我这里现在运行良好,至于第三个问题。应该不是你的问题
你搜索新闻的时候最后一页会出现错误。。
你把关键词改成 ‘如何’ 试试  看最后一页还会不会报错。
他的信息流好像是有问题
第三个问题是,如果我输出的是一条数据就会报错,这是为啥呢

<?phpsession_start();$_SESSION['key'] = $_POST["key"] ;?><html> <head> <meta charset="UTF-8"></head> <script type="text/javascript" src="http://localhost/jquery.js" ></script><script type="text/javascript" > function aurl(i){ var url = window.location.href; if(url.indexOf('?')>0){   url=url.substring(0,url.indexOf('?')) ;} url=url+"?page="+i; document.getElementById("documentForm").action=url; document.getElementById("insu").click();  }</script><body    > <form   id="documentForm"   method="POST" > <p> 输入关键字:<br/> <input type="text" name="key" size="6" maxlength="6" value="<?=$_SESSION['key'] ?>"/> </p> <p> <input type="submit" name="submit" id="insu" value="搜索!"/> </p> </form> <?php$key = $_POST["key"]; if($key==""){  echo "请输入搜索条件";    return;    }else{    unset($_SESSION['key']);}//取得页码$page = @$_GET['page'];//定义每页显示信息条数$page_size = 10;//当页码参数为空时,将页码设为1if ($page == ""){    $page = 1;}$wsdl="http://pica.chalwin.com/service/JsAccessWebService.asmx?wsdl";$client = new SoapClient($wsdl);$param = array('NodeId'=>'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<table border=1 cellspacing='0' width='30%'>\n<tr>";        echo "<td>$item->Title</td>\n";        echo "</tr>"."</table>";    }}    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 '<span><a href="javascript:aurl(1)">First </a></ span&gt; span&lt;/gt; span&lt;/gt; '; = 1; } if ($pageend &gt ; $ TotalPage) {$ pageEnd = $TotalPage;} // $pagenumber.ascript: AURL ('. ( $page - $pageNumber) . ')"><< ;</a></span>'; $pageend; $i++) { if ($i == $page) echo '<span style="background:#FFCC99">' &lt;&gt;&lt;&lt; href = aurl( '。$ i。')        //一次向翻$pageNumber行 if (($totalPage - $page) > 5) { echo '<span><a href="javascript:aurl('. ($page + $pageNumber) . ' )">>></a></span>';        } //输出下一页链接 if ($page <> $totalPage) { echo '<span><a href="javascript:aurl('. $Next .')">次へ</a& GT ;</span>;            echo '<span><a href="javascript:aurl('. $totalPage .')">Last</a></span>';        } else {          echo '<span>Next</span>';            echo '<span>Last</span>';        }  ?></body>  </html> 


上面这段代码运行良好,在搜索‘新闻’的时候最后一页会出非法字符。
搜索‘如何’没有错误。搜索‘英语’也没错误。

<?phpsession_start();$_SESSION['key'] = $_POST["key"] ;?><html> <head> <meta charset="UTF-8"></head> <script type="text/javascript" src="http://localhost/jquery.js" ></script><script type="text/javascript" > function aurl(i){ var url = window.location.href; if(url.indexOf('?')>0){   url=url.substring(0,url.indexOf('?')) ;} url=url+"?page="+i; document.getElementById("documentForm").action=url; document.getElementById("insu").click();  }</script><body    > <form   id="documentForm"   method="POST" > <p> 输入关键字:<br/> <input type="text" name="key" size="6" maxlength="6" value="<?=$_SESSION['key'] ?>"/> </p> <p> <input type="submit" name="submit" id="insu" value="搜索!"/> </p> </form> <?php$key = $_POST["key"]; if($key==""){  echo "请输入搜索条件";    return;    }else{    unset($_SESSION['key']);}//取得页码$page = @$_GET['page'];//定义每页显示信息条数$page_size = 10;//当页码参数为空时,将页码设为1if ($page == ""){    $page = 1;}$wsdl="http://pica.chalwin.com/service/JsAccessWebService.asmx?wsdl";$client = new SoapClient($wsdl);$param = array('NodeId'=>'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<table border=1 cellspacing='0' width='30%'>\n<tr>";        echo "<td>$item->Title</td>\n";        echo "</tr>"."</table>";    }}    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 '<span><a href="javascript:aurl(1)">First </a></ span&gt; span&lt;/gt; span&lt;/gt; '; = 1; } if ($pageend &gt ; $ TotalPage) {$ pageEnd = $TotalPage;} // $pagenumber.ascript: AURL ('. ( $page - $pageNumber) . ')"><< ;</a></span>'; $pageend; $i++) { if ($i == $page) echo '<span style="background:#FFCC99">' &lt;&gt;&lt;&lt; href = aurl( '。$ i。')        //一次向翻$pageNumber行 if (($totalPage - $page) > 5) { echo '<span><a href="javascript:aurl('. ($page + $pageNumber) . ' )">>></a></span>';        } //输出下一页链接 if ($page <> $totalPage) { echo '<span><a href="javascript:aurl('. $Next .')">次へ</a& GT ;</span>;            echo '<span><a href="javascript:aurl('. $totalPage .')">Last</a></span>';        } else {          echo '<span>Next</span>';            echo '<span>Last</span>';        }  ?></body>  </html> 


上面这段代码运行良好,在搜索‘新闻’的时候最后一页会出非法字符。
搜索‘如何’没有错误。搜索‘英语’也没错误。
不知道为什么,就是最后只有一条数据的时候报错,搜索新闻第三页只有一条数据了就报错了,其他都没错
那个传值的没问题了。感谢你哈

「陸上競技大会」を検索して、引き続きエラーが発生するかどうかを確認します。その場合は、以下のコードを使用してください
foreach に if ステートメントを追加して、結果を判断します。

d50a0ecea3cb279a9f6af57a5a45207d100db36a723c770d327fc0aef2ce13b1  1fc2df4564f5324148703df3b6ed50c19c3bca370b5104690d9ef395f2c5f8d1 bb7be0a8ccb4d6922667f81fb85cf2742cacc6d41bbb37262a98f745aa00fbf0<script type="text/javascript" > function aurl(i){ var url = window.location.href; if(url.indexOf('?')>0){ url=url.substring(0,url.indexOf('?')) ;} url=url+"?page="+i; document.getElementById("documentForm").action=url; document.getElementById("insu").click();  }2cacc6d41bbb37262a98f745aa00fbf059bcf50add6e78c7c22c958200172c5c b890ad2fb1dc76f071c50adfc9f15826 e388a4556c0f65e1904146cc1a846bee 输入关键字:076402276aae5dbec7f672f8f4e5cc81 3c0ae5b49065bd99c4dffa7d77969527"/> 94b3e26ee717c64999d7867364b1b4a3 e388a4556c0f65e1904146cc1a846bee c4a35756b0db9b7f38f5d6036039928b 94b3e26ee717c64999d7867364b1b4a3 264c8b0e0a1db44ba947f405b03bda4d 1ebe56dadcf31311daae92f2529fe5bb'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 "n7b6789abadb57292a99be77ac11c097a";        echo "b6c5a531a458a2e790c1fd6421739d1c$ite​​m->タイトルb90dd5946f0946207856a8a37f441edfn";        echo "141a986cb09000c102a8f2a5b789e6ba"."f16b1740fad44fb09bfe928bcc527e08";    }} else { echo 'ユーザーなし';    } //总页数 $totalPage = ceil(($item->NewsCount)/$page_size);        //上一页链接 $Prev = $page - 1;        if ($Prev c6f482e52afba43ae4d4780ee6f9498f 1) { echo '45a2772a6b6107b401db3c9b82c049c2e22da6c17d2c40d15624206bf7ed0876First 5db79b134e9f6b82c0b36e0489ee08eda6cc1f83ada8039911939e5ab82b3d71<< ;5db79b134e9f6b82c0b36e0489ee08ed54bdf357c58b8a65c66d7c19c8e4d114'; $pageend; $i++) { if ($i == $page) echo '9043413cc8effb8a16897fd8a15df423' &lt;&gt;&lt;&lt; href = aurl( '。$ i。')        //一次向翻$pageNumber行 if (($totalPage - $page) > 5) { echo '45a2772a6b6107b401db3c9b82c049c20e6a80538510ddfe1a8c091ab081bde5>>';        } //输出下一页链接 if ($page a8093152e673feb7aba1828c43532094 $totalPage) { echo '45a2772a6b6107b401db3c9b82c049c2618a642a76b8b72f40d58a9fd63ba3c7次へ</a& GT ;54bdf357c58b8a65c66d7c19c8e4d114;            echo '45a2772a6b6107b401db3c9b82c049c21e81b7595e479fac73903bd4d6622f08Last5db79b134e9f6b82c0b36e0489ee08ed54bdf357c58b8a65c66d7c19c8e4d114';        } else { &nbsp
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。