|
PHP Ajax分页显示数据(1)
2008-06-13 09:17
对于PHP和Ajax分页显示数据库记录,网络上有多种方法,如服务器端只返回数据,其样式在客户端设置;或者在服务器端将样式与数据一起返回。本实例为了代码的安全起见,这里使用了第二种方法实现。 服务器端文件Example8_7_1.php. <?php header("Content-Type:text/html;charset=GB2312"); $pagesize=3; //echo $_POST['page']; $db=mysql_connect("localhost","root","111111"); //创建数据库连接 mysql_query("set character set gbk"); mysql_select_db("student"); $result = mysql_query("Select count(DISTINCT id) FROM ".book); $myrow = mysql_fetch_array($result); $numrows=$myrow[0]; $pages=intval($numrows/$pagesize); if ($numrows%$pagesize) $pages++; if (isset($_POST['page'])){ $page=intval($_POST['page']); } else{ //设置为第一页 $page=1; } $first=1; $prev=$page-1; $next=$page+1; $last=$pages; //计算记录偏移量 $offset=$pagesize*($page - 1); //读取指定记录数 //$result=mysql_query("select `id` , count( * ) from ".book." GROUP BY `id` order by id desc limit $offset,$pagesize"); $result=mysql_query("select * from ".book." GROUP BY `id` order by id desc limit $offset,$pagesize"); $num = mysql_num_rows($result);
while ($row = mysql_fetch_array($result,MYSQL_NUM)) { $hotelname[] = $row[0]; $name[]=$row[1]; $author[]=$row[2]; $publisher[]=$row[3]; $isbn[]=$row[4]; $type[]=$row[5]; $price[]=$row[6]; //$countpeople[] = $row[1]; } echo "<TABLE style=\"MARGIN-BOTTOM: 20px\" cellSpacing=0 cellPadding=0 width=90% border=1 align=center>\n"; echo "<TBODY>\n"; echo "<th>ID编号</th><th>名称</th><th>作者</th><th>出版社</th><th>ISBN号</th><th>类型</th><th>价格</th>"; for($a=0;$a<$num;$a++) { echo "<TR>\n"; echo "<TD style=\"PADDING-TOP: 5px\" align=left>".$hotelname[$a]."</TD>"; echo "<TD style=\"PADDING-TOP: 5px\" align=left>".$name[$a]."</TD>"; echo "<TD style=\"PADDING-TOP: 5px\" align=left>".$author[$a]."</TD>"; echo "<TD style=\"PADDING-TOP: 5px\" align=left>".$publisher[$a]."</TD>"; echo "<TD style=\"PADDING-TOP: 5px\" align=left>".$isbn[$a]."</TD>"; echo "<TD style=\"PADDING-TOP: 5px\" align=left>".$type[$a]."</TD>"; echo "<TD style=\"PADDING-TOP: 5px\" align=left>".$price[$a]."</TD>"; echo "</TR>"; } echo "</TR></TBODY></TABLE>\n"; echo "<TABLE style=\"MARGIN-TOP: 30px\" cellSpacing=0 cellPadding=0 width=\"100%\""; echo "border=0>"; echo "<TBODY><TR><TD colSpan=3 height=20>"; echo "<DIV align=center>"; echo "<P align=left><FONT color=red>第".$page."页/总".$pages."页 | 总".$numrows."条</FONT> | "; if ($page>1) echo "<a onclick=\"viewpage(".$first.")\" href='#'>首页</a> | "; if ($page>1) echo "<a onclick=\"viewpage(".$prev.")\" href='#'>上页</a> | "; if ($page<$pages) echo "<a onclick=\"viewpage(".$next.")\" href='#'>下页</a> | "; if ($page<$pages) echo "<a onclick=\"viewpage(".$last.")\" href='#'>尾页</a>"; echo " 转到第 <INPUT maxLength=3 size=3 value=1 name=goto_page> 页 <INPUT hideFocus onclick=\"viewpage(document.all.goto_page.value)\" type=button value=Go name=cmd_goto>"; echo "</P></DIV></TD></TR></TBODY></TABLE>"; ?>
|