预期效果
思路
通过sql语句 select * from table limit start end
来从mysql数据库
步骤
传入页码p;
根据页码获取数据php->mysql
显示数据+分页条
源码
注意点
- table,input,button等控件的样式不会继承body,需要重新定义如下
1
2
3
4
|
input,label, select,option,textarea,button,fieldset,legend,table{ font-size:18px; font-family:verdana; } |
- 在进行查询数据库语言拼接的时候,limit关键字后面要留空格,且拼接的内容要用括弧包裹
1
|
$sql = "select * from pages limit " .(( $page -1)*5). ",5" ; |
- 在显示页的时候,作者的逻辑比较复杂,可以简化梳理
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
//1,主要是$total_pages > $show_page,特殊情况再另外考虑; //2,再利用for循环显示全部; //3,再考虑前面的省略号 if ( $total_pages > $show_page ){ //考虑正常情况下,...456...下一页 尾页 if ( $page - $page_off > 1) $page_banner .= "..." ; $start = $page - $page_off ; //非正常情况下,12...下一页 尾页 if ( $start == 0) $start = 1; $end = $page + $page_off ; //...78 总共8页 if ( $end > $total_pages ) $end = $total_pages ; for ( $i = $start ; $i <= $end ; $i ++){ //当前页显示高亮 if ( $page == $i ){ $page_banner .= "<span class='current'>$i</span>" ; } else { $page_banner .= "<a href='" . $_server ['php_self ']."?p=".$i."' >{ $i }</a>"; } } if ( $page + $page_off < $total_pages ) $page_banner .= "..." ; //显示尾页与下一页 if ( $page < $total_pages ){ $page_banner .= "<a href='" . $_server ['php_self ']."?p=".($page+1)."' >下一页></a>"; $page_banner .= "<a href='" . $_server ['php_self ']."?p=".($total_pages)."' >尾页</a>"; } else { $page_banner .= "<span class='disable'>下一页></span>" ; $page_banner .= "<span class='disable'>尾页</span>" ; } } |
最终效果
以上所述是小编给大家介绍的php和mysql实现分页导航思路详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!