|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果你单纯是为了做网站赚钱,我想你还是别学php的好,去学ASP,JSP好了,毕竟它们有实力雄厚的公司去支持它们。 所谓分页显示,也就是将数据库中的了局集工资的分红一段一段的来显示,这里需求两个初始的参数:
每页几何笔记录($PageSize)?
以后是第几页($CurrentPageID)?
如今只需再给我一个了局集,我就能够显示某段特定的了局出来。
至于其他的参数,好比:上一页($PReviousPageID)、下一页($NextPageID)、总页数($numPages)等等,都可以依据前边这几个器材失掉。
以MySQL数据库为例,假如要从表内截取某段内容,sql语句可以用:select * from table limit offset, rows。看看上面一组sql语句,测验考试一下发明个中的规率。
前10笔记录:select * from table limit 0,10
第11至20笔记录:select * from table limit 10,10
第21至30笔记录:select * from table limit 20,10
……
这一组sql语句其实就是当$PageSize=10的时分取表内每页数据的sql语句,咱们可以总结出如许一个模板:
select * from table limit ($CurrentPageID - 1) * $PageSize, $PageSize
拿这个模板代入对应的值和上边那一组sql语句对比一下看看是否是那末回事。弄定了最主要的若何获得数据的成绩今后,剩下的就仅仅是传递参数,机关适合的sql语句然后利用php从数据库内获得数据并显示了。以下我将器具体代码加以申明。
3、复杂代码
请具体浏览以下代码,本人调试运转一次,最好把它修正一次,加上本人的功效,好比搜刮等等。
[php]
<?php
// 创立数据库毗连
$link = mysql_connect("localhost", "mysql_user", "mysql_passWord")
or die("Could not connect: " . mysql_error());
// 获得以后页数
if( isset($_GET['page']) ){
$page = intval( $_GET['page'] );
}
else{
$page = 1;
}
// 每页数目
$PageSize = 10;
// 获得总数据量
$sql = "select count(*) as amount from table";
$result = mysql_query($sql);
$row = mysql_fetch_row($result);
$amount = $row['amount'];
// 记算总共有几何页
if( $amount ){
if( $amount < $page_size ){ $page_count = 1; } //假如总数据量小于$PageSize,那末只要一页
if( $amount % $page_size ){ //取总数据量除以每页数的余数
$page_count = (int)($amount / $page_size) + 1; //假如不足数,则页数等于总数据量除以每页数的了局取整再加一
}else{
$page_count = $amount / $page_size; //假如没不足数,则页数等于总数据量除以每页数的了局
}
}
else{
$page_count = 0;
}
// 翻页链接
$page_string = '';
if( $page == 1 ){
$page_string .= '第一页上一页';
}
else{
$page_string .= '<a href=?page=1>第一页</a><a href=?page='.($page-1).'>上一页</a>';
}
if( ($page == $page_count) ($page_count == 0) ){
$page_string .= '下一页尾页';
}
else{
$page_string .= '<a href=?page='.($page+1).'>下一页</a><a href=?page='.$page_count.'>尾页</a>';
}
// 获得数据,以二维数组格局前往了局
if( $amount ){
$sql = "select * from table order by id desc limit ". ($page-1)*$page_size .", $page_size";
$result = mysql_query($sql);
while ( $row = mysql_fetch_row($result) ){
$rowset[] = $row;
}
}else{
$rowset = array();
}
// 没有包括显示了局的代码,那不在会商局限,只需用foreach就能够很复杂的用失掉的二维数组来显示了局
?>
PHP和HTML混合编程应该不成问题,在这期间,你完全可以让PHP给你算算 一加一等于几,然后在浏览器输出,不要觉得幼稚,这的确是跟阿波罗登月一样,你打的是一小段代码,但是对于你的编程之路,可是迈出了一大步啊!兴奋吧?但是不得不再给你泼点冷水,您还是菜鸟一个。 |
|