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

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

WBOY
リリース: 2016-06-23 14:10:28
オリジナル
734 人が閲覧しました

<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 ループの最後に を追加しました


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

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

はい、確かにここに 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>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

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



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

朝、混乱して書き間違えてしまいました。 。

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>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

早朝、混乱して間違ったことを書いてしまいました。 。


そうだね

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

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

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

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


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

引用符を追加します

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

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

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

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

最後のポイント: $key = $_POST["key"]; $key = ($_POST[" key"]=='') に変更する必要がありますか? $_GET["key"]:$_POST["key"]; 最後に、次のように入力します

ここでも入力でエラーが報告されます。 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绑定都有错。
是不是我哪里写错了呢

你可能没开短标签支持吧。,


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


<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绑定都有错。
是不是我哪里写错了呢

你可能没开短标签支持吧。,


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


<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绑定都有错。
是不是我哪里写错了呢

你可能没开短标签支持吧。,


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

<?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 ステートメントを追加して、結果を判断します。

<?phpsession_start();$_SESSION['key'] = $_POST["key"] ;?><html>  <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><本文 > <フォーム 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> </フォーム> <?php$key = $_POST["key"]; if($key==""){ echo "请输入搜索条件";    戻る;    }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){ if (is_array($ ret->NewsSearchResult->InheritanceNews)) { foreach($ret->NewsSearchResult->InheritanceNews as $item) { echo "n<table border=1 cellspacing='0' width='30%'> n<tr>";        echo "<td>$ite​​m->タイトル</td>n";        echo "</tr>"."</table>";        } }else{ echo "n<table border=1 cellspacing='0' width='30%'>n<tr>";        echo "<td>$ret->NewsSearchResult->InheritanceNews->title</td>n";        echo "</tr>"."</table>";    }} else { echo 'ユーザーなし';    } //总页数 $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) . ' )">>>';        } //输出下一页链接 if ($page <> $totalPage) { echo '<span><a href="javascript:aurl('. $Next .')">次へ</a& GT ;</span>;            echo '<span><a href="javascript:aurl('. $totalPage .')">Last</a></span>';        } else { &nbsp
ログイン後にコピー
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート