六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

給何版主, 機器民主與lilyxie: 對于分頁機制.

[摘要]1. 分頁的前提是記錄按id排序, 且不連續(xù), 比如有些記錄被刪除, 或者要分頁顯示查找結果, 這樣就有了除分頁外的條件q2. 確定分頁的方式: (1): 用簡單的"頁首, 上一頁, 下一頁". (2): 用"1,2,3,4,5,6,..........末尾&qu...
1. 分頁的前提是記錄按id排序, 且不連續(xù), 比如有些記錄被刪除,
 或者要分頁顯示查找結果, 這樣就有了除分頁外的條件$q
2. 確定分頁的方式:
(1): 用簡單的"頁首, 上一頁, 下一頁".
(2): 用"1,2,3,4,5,6,..........末尾"來指定跳到某頁.
3. 實現分析:
(1) 如果先查詢全部結果, 只顯示其中的部分. 這種方式顯然不好,
會累壞server.
(2) 對于用limit m,n實現分頁, 有些不負責, 服務器在實際操作時還是
按$q條件找出所有結果, 然后只返回m后的n條. server工作仍然很多.
(3) 優(yōu)化的辦法是知道要顯示頁的起始$id, 查詢
 "where $q and id>=$id order by id desc limit 0,$page_length"
 這樣mysql 會先按id的索引找到符合條件的id, 然后再評估$q.
(4) 那$id怎么來呢?
(5) 對于顯示方式1, 每頁多查詢一條,最后一個記錄的$id就是啦
"where $q and id>=$id order by id limit 0,$page_length+1"
if (mysql_num_rows($result) > $page_length) echo "下一頁"
 //(記住最后一條記錄不要顯示!)
 //如果不使用第二種分頁方式, 到此結束.
(5) 對于顯示方式2, 后面$page_offset=6頁的每頁起始id要一次知道.
"select id from xxxx where $q order by id desc limit 0,$page_length*$page_offset"
for($i=0;$i*$page_length<$mysql_num_rows($result);$i++){
$start=mysql_result($result,$i*$page_length,0);
echo '<a href="xxxxx?pageno='.($i+1)."&id=$start\">";
if ($id==$start) echo "<b>$i</b>"; //加重顯示當前頁號
else echo $i;
echo "</a>";
}
(6)也許有人要問server不是按$q條件把所有這幾頁都搜一遍了嗎?
和"limit 0,$page_length*$pageno"有什么區(qū)別? 直接用$pageno哪有$id這么麻煩?
答案是可以利用session功能存起來這個結果, 如果$q沒有變, 就可以直接調用,
省得每次換頁都折騰數據庫.
加上后續(xù)頁面判斷, 上面的例子就變成:
//如果$q沒有變化
$page_offset=6;
session_register($ids);
if (!$ids){//后序頁面不會執(zhí)行
"select id from xxxx where $q order by id desc limit 0,$page_length*$page_offset+1";//判斷有無后序頁面
for($i=0;$i*$page_length<$mysql_num_rows($result);$i++){
$ids[]=mysql_result($result,$i*$page_length,0);
}
}
//有樂$ids......
for ($i=0;$i<$page_offset;$i++){
echo '<a href="xxxxx?id="$ids[$i].'">';
if ($d==$ids[$i]) echo "<b>$i</b>"; //加重顯示當前頁號
else echo $i;
echo "</a>";
}
//下面這句自由發(fā)揮, 可以切換到分頁模式1
if ($ids[$page_offset])
echo '<a href="xxxx?pageno='.($pageno+1).'&id='.$ids[$page_offset].">....</a>';
(8) 以上結果稍加改動, 可以session_resiter($pageno), 來記錄當前是第幾
大頁. 類似快進功能.
(7) 不知道php4正式版是否支持session中存放數組, 如果不行建議用
implode/explode來變成字串保存.
(8) 這種方式的優(yōu)點應該是速度快, 但缺點是不知道總共符合$q條件的數量.
對于搜索龐大的數據庫應該有用.
(9) 實現"跳至末尾", 可以在以上sql語句中 order by id, 不要desc. 同理可實現
前面第N頁.
4 以上代碼還都是設想, 希望各位多多指正.
5 本文中心思想是利用id索引和id的偏移來快速查找后序內容, 節(jié)省數據庫開銷.




主站蜘蛛池模板: 日日日日人人人夜夜夜2017 | 亚洲成a人片在线观看精品 亚洲成a人片在线观看导航 | 视频一区二区不卡 | 日本韩国在线视频 | 全部免费毛片免费播放 | 日韩欧美色视频 | 在线亚洲+欧美+日本专区 | 中文字幕乱码一二三四区 | 日本高清在线观看视频www | 日韩毛片免费观看 | 最新网址在线观看 | 欧美一级影院 | 一级特级女人18毛片免费视频 | 亚洲六月丁香六月婷婷蜜芽 | 在线观看亚洲精品专区 | 性刺激欧美三级在线现看中文 | 午夜在线播放免费高清观看 | 亚洲精品自拍视频 | 午夜影院免费看 | 奇米五月| 欧美一级影院 | 天天色天天摸 | 日本www色视频成人免费 | 亚洲第一黄网站 | 婷婷中文字幕 | 四虎影院视频在线观看 | 日韩三极| 日韩欧美视频一区二区 | 色综合色狠狠天天久久婷婷基地 | 午夜在线观看视频在线播放版 | 亚洲欧美日韩在线观看二区 | 亚洲欧美综合网站 | 中文字幕亚洲色图 | 色橹橹欧美在线观看高清视频 | 中文字幕在线播放第一页 | 日本高清在线播放 | 午夜国产精品无套 | 日韩高清在线日韩大片观看网址 | 亚洲视频综合 | 亚洲欧美久久婷婷爱综合一区天堂 | 欧美天天性影院 |