你的和我是一样的问题,不过我用的是mssql,同是初学,关注一下
解决方案 »
- 一维数组转多维数组
- mysqli里的预处理可以跨页面吗?
- 求代码,从HTML文件中读取指定字符串
- 请教大家,PHP验证网站用户是怎么做的,是用SESSION,还是COOKIES?
- 初学PHP,关于常量和全局变量的一点小问题
- 请教高手一个有关用nusoap.php调webservice的问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 请问session的默认贮存目录是什么?phpinfo中怎么没发现。
- php发带附件的邮件?
- 请问如何实现分页处理,包括首页,下一页,上一页,末页,跳转。提一下思路!谢了
- 关于php二次开发的疑问
- mysql 用联合查询会影响速度吗?
- 请问<!--和 -->是什么意思?
<?PHP
extract($_GET);
$conn=mssql_connect("localhost","sa","1" ) or die("Could not connect: " );
mssql_Select_db("njc2",$conn);
$strSQL="SELECT * from rkgl";
$result = mssql_query($strSQL);
$total = mssql_num_rows($result);
$pic= '<img src="images/real.gif">';
$pagesize=10;
if (($total%$pagesize)!=0)
$totalpage=intval($total/$pagesize)+1;
else
$totalpage=intval($total/$pagesize);
if ($page=="")
$current=1;
else{
switch($page){
case "首页":
$current=1;
break;
case "上一页":
$current=$curpage-1;
break;
case "后一页":
$current=$curpage+1;
break;
case "尾页":
$current=$totalpage;
break;}
}
?>
<b>第<?=$current;?>页,共<?=$totalpage;?>页.......共<?=$total;?>条记录
<?
if($total<>0){
mssql_data_seek($result,(($current-1)*$pagesize));
}
$i=1;
?>
<table border="1" bgcolor="#F0FEE7" bordercolor="#336666">
<?
while($row=mssql_fetch_row($result))
{
?>
<tr>
<td><?=$row[0];?></td>
<td><?=$row[1];?></td>
<td><?=$row[2];?></td>
<td><?=$row[3];?></td>
<td><a href="play.php?id=<?=$row[0];?>"><?=$pic;?></a></td>
</tr>
<?
$i++;
if ($i>$pagesize)
break;
else
continue;
}
?>
</table>
<form name="form1" method="post" action="<?=$_SERVER['PHP_SELF'] ?> ">
<input type="hidden" name="curpage" value="<?echo $current;?>">
<input type="submit" name="page" value="首页">
<? if($current>1):?>
<input type="submit" name="page" value="上一页">
<? endif;
if($current<>$totalpage):?>
<input type="submit" name="page" value="后一页">
<? endif;?>
<input type="submit" name="page" value="尾页">
</form>
$current=$curpage-1;
break;
case "后一页":
$current=$curpage+1;
break; 试试 case "上一页":
$current=$current-1;
break;
case "后一页":
$current=$current+1;
break;
$current=$curpage-1;
break;
case "后一页":
$current=$curpage+1;
break; 试试 case "上一页":
$current=$current-1;
break;
case "后一页":
$current=$current+1;
break;
晕哦~我就是找帖,然后用你帖里的呀
你也没解决?
谢谢,不过还是不行.
这个源码里是不用limit的
能实现limit的效果,每页显示相应的记录,但是不能翻!
用来实现对当前页的控制我写ASP的...刚开始写PHP,晕,发觉PHP用起来真麻烦呀
可能是习惯问题,呵呵
<input type="hidden" name="curpage" value="<?echo $current;?>">
<input type="submit" name="page" value="首页">
<? if($current>1):?>
<input type="submit" name="page" value="上一页">
<? endif;
if($current<>$totalpage):?>
<input type="submit" name="page" value="后一页">
<? endif;?>
<input type="submit" name="page" value="尾页">
</form>改成:
echo "<a href=".$_SERVER['PHP_SELF']."?page=首页>首页</a> ";
if ($current>1){
echo "<a href=".$_SERVER['PHP_SELF']."?page=上一页>上一页</a> "; }
if ($current!=$totalpage){
echo "<a href=".$_SERVER['PHP_SELF']."?page=下一页>下一页</a> "; }
echo "<a href=".$_SERVER['PHP_SELF']."?page=尾页>尾页</a> ";再在前面赋值:$page=$_GET['page'];可以实现首面,上一面,尾页的功能.但不能实现下一页的功能.........
还有警告出现
Warning: Offset -20 is invalid for MySQL result index 2
这行有错误!!!!
上面的的mssql_data_seek()是没有问题的。
作用是用来指定N页后开始显示的第一条记录指针位置。PS:
我结合原来的代码,自己写了一个。下面是代码,我已经测试成功。希望对你有所帮助。 :)mysql_connect("localhost","root","");
$result=mysql_db_query("MsgBoard","select * from message");
$total=mysql_num_rows($result);
$pagesize=10;
if (($total%$pagesize)!=0)
$totalpage=intval($total/$pagesize)+1;
else
$totalpage=intval($total/$pagesize);
if (empty($_GET['pagenum'])){
$_GET['pagenum']=1; }
if($total!=0){
mysql_data_seek($result,(($_GET['pagenum']-1)*$pagesize));
}
$i=1;
while($row=mysql_fetch_row($result))
{
echo "<tr>";
echo "<td width=51%><div align=center>"."<a href=DisplayTopic.php?id=".$row["0"].">".$row["5"]."</a>"."</div></td>";
echo "<td width=14%><div align=center>"."<a href=DisplayUserinfo.php?name=".$row["2"].">".$row["2"]."</a>"."</div></td>";
echo "<td width=21%><div align=center>".$row["3"]."</div></td>";
echo "<td width=14%><div align=center>"."<a href=DisplayUserinfo.php?name=".$row["2"].">".$row["6"]."</a>"."</div></td>";
echo "</tr>";
$i++;
if ($i>$pagesize)
break;
else
continue;
}
?>
</table><br><?
echo "<a href=".$_SERVER['PHP_SELF']."?pagenum=1>首页</a> ";
if ($_GET['pagenum']>1){
$temp_current=$_GET['pagenum']-1;
echo "<a href=".$_SERVER['PHP_SELF']."?pagenum=".$temp_current.">上一页</a> "; }
if ($_GET['pagenum']<$totalpage){
$temp_current=$_GET['pagenum']+1;
echo "<a href=".$_SERVER['PHP_SELF']."?pagenum=".$temp_current.">下一页</a> "; }
echo "<a href=".$_SERVER['PHP_SELF']."?pagenum=".$totalpage.">尾页</a> ";
$current=1;
break;
case "上一页":
$current=$curpage-1;
break;
case "后一页":
$current=$curpage+1;
上面是你的程序,的一部分,你的页面的页数是通过$curpage变量来传递的,而$current并不会在页面之间传递值,所以你的页数的值是无法在各个页面之间传递的,当然也就只显示第一页了。