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

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

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

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

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn