ホームページ >バックエンド開発 >PHPチュートリアル >PHPのページめくりコードにエラーがあります。専門家に問い合わせてください。 (残り 27 ポイントのみ)

PHPのページめくりコードにエラーがあります。専門家に問い合わせてください。 (残り 27 ポイントのみ)

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

実行結果は、「次のページ」をクリックしても、データベースのコンテンツの最初のページのみが表示されます。

<?php	$pages=ceil($count/$list_num);    echo "<table width=780 border=0 cellspacing=0 cellpadding=0 align=center class='text'>          <tbody>           <tr> <td width='159'><font color='#ff0000'>目前共有".$count."条记录</font> </td>               <td width='205'>共".$pages."页</td>";	  if($offset){		 $preoffset=$offset-$list_num;	print "<td width='132'><a href=\"$PHP_SELF?offset=$preoffset\">上一页</a></td>";}	  else {	echo  "<td width='132'>上一页</td>";	}	 $newoffset=$offset+$list_num;	  if(($pages!=0)&&(($newoffset/$list_num)!=$pages))	{	 print("<td width='158'><a  href=\"$PHP_SELF?offset=$newoffset\">下一页</a></td>");	}	  else{ echo "<td width='158'>下一页</td>";}	 $pageno=($offset/$list_num)+1;	echo "<td width='112' class=text>第<input class=text type='text' size='4'value=".$pageno." readonly>页</td>          <td width='4'> </td> </tr> </table>";   ?>


ディスカッション (解決策) に返信

Chrome を使用して要素を検査し、「次のページ」への接続があるかどうかを確認します。
その後、投稿者がその日に教えてくれたものを使用できます
要約($_REQUEST ); これを先頭に追加する必要があります

<?phpif ($_GET[offset]) {  $offset = $_GET[offset];}$count =100 ;$list_num =5 ;  $pages=ceil($count/$list_num);    echo "<table width=780 border=0 cellspacing=0 cellpadding=0 align=center class='text'>          <tbody>           <tr> <td width='159'><font color='#ff0000'>目前共有".$count."条记录</font> </td>               <td width='205'>共".$pages."页</td>";    if($offset){     $preoffset=$offset-$list_num;  print "<td width='132'><a href=\"$PHP_SELF?offset=$preoffset\">上一页</a></td>";}    else {  echo  "<td width='132'>上一页</td>";  }   $newoffset=$offset+1;//$list_num;    if(($pages!=0)&&(($newoffset/$list_num)!=$pages))  {   print("<td width='158'><a  href=\"$PHP_SELF?offset=$newoffset\">下一页</a></td>");  }    else{ echo "<td width='158'>下一页</td>";}   $pageno=$offset;  echo "<td width='112' class=text>第<input class=text type='text' size='4'value=".$pageno." readonly>页</td>          <td width='4'> </td> </tr> </table>";   ?><?php?>

LZ の意味を誤解したかどうかはわかりません

<?phpif ($_GET[offset]) {  $offset = $_GET[offset];}$count =100 ;$list_num =5 ;  $pages=ceil($count/$list_num);    echo "<table width=780 border=0 cellspacing=0 cellpadding=0 align=center class='text'>          <tbody>           <tr> <td width='159'><font color='#ff0000'>目前共有".$count."条记录</font> </td>               <td width='205'>共".$pages."页</td>";    if($offset){     $preoffset=$offset-$list_num;  print "<td width='132'><a href=\"$PHP_SELF?offset=$preoffset\">上一页</a></td>";}    else {  echo  "<td width='132'>上一页</td>";  }   $newoffset=$offset+1;//$list_num;    if(($pages!=0)&&(($newoffset/$list_num)!=$pages))  {   print("<td width='158'><a  href=\"$PHP_SELF?offset=$newoffset\">下一页</a></td>");  }    else{ echo "<td width='158'>下一页</td>";}   $pageno=$offset;  echo "<td width='112' class=text>第<input class=text type='text' size='4'value=".$pageno." readonly>页</td>          <td width='4'> </td> </tr> </table>";   ?><?php?>

LZ の意味を誤解したかどうかはわかりませんが、あなたのコードを使用しました。下のページをめくると、一番下の部分に数字の 1 が表示されます。ページは 2 つありますが、フォームの内容は最初のページと同じですか?

<?phpif ($_GET[offset]) {  $offset = $_GET[offset];}$count =100 ;$list_num =5 ;  $pages=ceil($count/$list_num);    echo "<table width=780 border=0 cellspacing=0 cellpadding=0 align=center class='text'>          <tbody>           <tr> <td width='159'><font color='#ff0000'>目前共有".$count."条记录</font> </td>               <td width='205'>共".$pages."页</td>";    if($offset){     $preoffset=$offset-$list_num;  print "<td width='132'><a href=\"$PHP_SELF?offset=$preoffset\">上一页</a></td>";}    else {  echo  "<td width='132'>上一页</td>";  }   $newoffset=$offset+1;//$list_num;    if(($pages!=0)&&(($newoffset/$list_num)!=$pages))  {   print("<td width='158'><a  href=\"$PHP_SELF?offset=$newoffset\">下一页</a></td>");  }    else{ echo "<td width='158'>下一页</td>";}   $pageno=$offset;  echo "<td width='112' class=text>第<input class=text type='text' size='4'value=".$pageno." readonly>页</td>          <td width='4'> </td> </tr> </table>";   ?><?php?>

LZ の意味を誤解したかどうかはわかりませんが、ページ数は変わりますが、ページの内容は変わりません。

データベースのSQL文ですが、どうやって書けばいいのかわかりません。
一般的に select * from `table` order by id desc limit 1 $offset*$count/$list_num ,($offset+1)*$count/$list_num
次のコードは私自身のデータベースでテストされています。 run

<?phpif ($_GET[offset]) {  $offset = $_GET[offset];}$count =100 ;$list_num =5 ;  $pages=ceil($count/$list_num);    echo "<table width=780 border=0 cellspacing=0 cellpadding=0 align=center class='text'>          <tbody>           <tr> <td width='159'><font color='#ff0000'>目前共有".$count."条记录</font> </td>               <td width='205'>共".$pages."页</td>";    if($offset){     $preoffset=$offset-1;  print "<td width='132'><a href=\"$PHP_SELF?offset=$preoffset\">上一页</a></td>";}    else {  echo  "<td width='132'>上一页</td>";  }   $newoffset=$offset+1;//$list_num;    if(($pages!=0)&&(($newoffset/$list_num)!=$pages))  {   print("<td width='158'><a  href=\"$PHP_SELF?offset=$newoffset\">下一页</a></td>");  }    else{ echo "<td width='158'>下一页</td>";}   $pageno=$offset;  echo "<td width='112' class=text>第<input class=text type='text' size='4'value=".$pageno." readonly>页</td>          <td width='4'> </td> </tr> </table>";   ?><?phpinclude 'mysqlconnect.php';$limit1 = $offset*$count/$list_num ;$limit2 = ($offset+1)*$count/$list_num;$sql = "select * from mealtable order by mealuid desc limit $limit1,$limit2";$query = mysql_query($sql);var_dump($query);while ($a = mysql_fetch_row($query)) {  print_r($a);}?>

データベースのSQL文ですが、どうやって書けばいいのかわかりません。
一般的に select * from `table` order by id desc limit 1 $offset*$count/$list_num ,($offset+1)*$count/$list_num
次のコードは私自身のデータベースでテストされており、動作します
rreeさん、本当にありがとうございました!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。