Heim >Backend-Entwicklung >PHP-Tutorial >php翻页代码出错,请教高手。(只剩最后的27分了)

php翻页代码出错,请教高手。(只剩最后的27分了)

WBOY
WBOYOriginal
2016-06-23 14:10:16866Durchsuche

运行结果是只显示数据库内容的第一页,单击“下一页”仍然停留在第一页上。

<?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审查元素看一下“下一页”这个地方有没有连接,
再有就是你用上楼主那天告诉你的那个
abstract($_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的意思 我用了你的代码,虽然下边翻页后下边显示的是第二页,但表单里的内容还是第一页的啊?

<?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
下面这段代码已经用我自己的数据库测试过,可以运行

<?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
下面这段代码已经用我自己的数据库测试过,可以运行

<?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);}?>
太感谢了!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn