按网上例子,
抄写成了一个PHP页面,直接就把数据库里的记录都显示出来了,
我想按20条记录/页来分页,要怎样修改呢?
<?$dbh = @mysql_connect("localhost:3306","user","9");
/* 定义变量dbh , mysql_connect()函数的意思是连接mysql数据库, "@"的意思是屏蔽报错 */if(!$dbh){die("error");}/* die()函数的意思是将括号里的字串送到浏览器并中断PHP程式 (Script)。括号里的参数为欲送出的字串。 */@mysql_select_db("tab", $dbh);/* 选择mysql服务器里的一个数据库,这里选的数据库名为 ok */$q = "SELECT * FROM aix_download_data";/* 定义变量q, "SELECT * FROM abc"是一个SQL语句,意思是读取表abc中的数据 */?><br />
<!--========= 方法一 =========-->
<br /><?
mysql_query("SET NAMES UTF8");
$rs = mysql_query($q, $dbh);
/* 定义变量 rs ,函数mysql_query()的意思是:送出 query 字串供 MySQL 做相关的处理或者执行.由于php是从右往左执行的,所以,rs的值是服务器运行mysql_query()函数后返回的值 */if(!$rs){die("Valid result!");}echo "<table>";echo "<tr><td>ID</td><td>url_115</td></tr>";while($row = mysql_fetch_row($rs)) echo "<tr><td>$row[0]</td><td><A href=$row[14]>$row[1]</a></td></tr>";/* 定义量变(数组)row,并利用while循环,把数据一一写出来.
函数mysql_fetch_row()的意思是:将查询结果$rs单列拆到阵列变数中.
$row[0] 和 $row[1] 的位置可以换*/echo "</table>";?><br />
<?@mysql_close($dbh);/* 关闭到mysql数据库的连接 */?>
抄写成了一个PHP页面,直接就把数据库里的记录都显示出来了,
我想按20条记录/页来分页,要怎样修改呢?
<?$dbh = @mysql_connect("localhost:3306","user","9");
/* 定义变量dbh , mysql_connect()函数的意思是连接mysql数据库, "@"的意思是屏蔽报错 */if(!$dbh){die("error");}/* die()函数的意思是将括号里的字串送到浏览器并中断PHP程式 (Script)。括号里的参数为欲送出的字串。 */@mysql_select_db("tab", $dbh);/* 选择mysql服务器里的一个数据库,这里选的数据库名为 ok */$q = "SELECT * FROM aix_download_data";/* 定义变量q, "SELECT * FROM abc"是一个SQL语句,意思是读取表abc中的数据 */?><br />
<!--========= 方法一 =========-->
<br /><?
mysql_query("SET NAMES UTF8");
$rs = mysql_query($q, $dbh);
/* 定义变量 rs ,函数mysql_query()的意思是:送出 query 字串供 MySQL 做相关的处理或者执行.由于php是从右往左执行的,所以,rs的值是服务器运行mysql_query()函数后返回的值 */if(!$rs){die("Valid result!");}echo "<table>";echo "<tr><td>ID</td><td>url_115</td></tr>";while($row = mysql_fetch_row($rs)) echo "<tr><td>$row[0]</td><td><A href=$row[14]>$row[1]</a></td></tr>";/* 定义量变(数组)row,并利用while循环,把数据一一写出来.
函数mysql_fetch_row()的意思是:将查询结果$rs单列拆到阵列变数中.
$row[0] 和 $row[1] 的位置可以换*/echo "</table>";?><br />
<?@mysql_close($dbh);/* 关闭到mysql数据库的连接 */?>
先获取总记录数,然后动态获取每页的内容
如果你要每页取10个,那么总共应该有ceil(total/10)页
那么第一页:
select * from tb where .. limit 0, 10;
第二页:
select * from tb where .. limit 10, 10;。。第n页:
select * from tb where .. limit (n-1)10, 10;做个循环。
$pagesize=5; //定义每页显示多少条记录
$page=isset($_GET["page"])?intval($_GET["page"]):1; //定义page的初始值,如果get 传过来的page为空,则page=1,
$total=mysql_num_rows(mysql_query("select aid from list")); //执行查询获取总记录数
$pagecount=ceil($total/$pagesize); //计算出总页数
if ($page>$pagecount){
$page=$pagecount; // 对提交过来的page做一些检查
}
if ($page<=0){
$page=1; // 对提交过来的page做一些检查
}
$offset=($page-1)*$pagesize; //偏移量
$pre=$page-1; //上一页
$next=$page+1; //下一页
$first=1; //第一页
$last=$pagecount; //末页
$SQL="SELECT * FROM `list` order by aid desc limit $offset,$pagesize"; //执行查询
$query=mysql_query($SQL);
//中间的列表部分,你自己写把
页<?php echo $page."/".$pagecount?>总页 <a href="?page=1">首页</a> <a href="?page=<?php echo $pre?>">上一页</a> <a href="?page=<?php echo $next?>">下一页</a> <a href="?page=<?php echo $last?>">末页</a>
//这个就是下面的那个 总页数,首页,尾页,上一条,下一条导航