yeafee@夜飛郎

          it's usually better to solve problems with simplicity and finesse rather than muscle.

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            33 隨筆 :: 3 文章 :: 2 評論 :: 0 Trackbacks
          ?1 < script?language = " JavaScript " ?type = " text/JavaScript " >
          ?2 function ?getServerList(dir,curpage,totalpage,totalrecordcount) {
          ?3 ??? var ?page;
          ?4 ?? if (dir == " first " ) {?page = 1 ;}
          ?5 ?? if (dir == " last " ) {page = totalpage?;}
          ?6 ?? if (dir == " previous " ) {
          ?7 ????? if (curpage == " 1 " ) {
          ?8 ???????page = 1 ;
          ?9 ?????}
          else {
          10 ?????page = parseInt(curpage) - parseInt( 1 );
          11 ?????}

          12 ??}

          13 ?? if (dir == " next " ) {
          14 ????? if (parseInt(curpage) < parseInt(totalpage)) {
          15 ???????page = parseInt(curpage) + parseInt( 1 );
          16 ?????}
          else {
          17 ???????page = totalpage;
          18 ?????}

          19 ??}

          20 ?? // alert(page);
          21 ?? var ?action = " ***.shtml " ;
          22 ??document.location.href = action + " ?page= " + page;
          23 }

          24 </ script >

          getServerList(p1,p2,p3,p4),其中傳遞四個參數,分別表示頁面轉向eg.前一頁,后一頁;當前頁;所有頁;所有記錄數;
          在頁面上四個頁面轉換方向都周用getServerList(p1,p2,p3,p4);p1值根據首頁設置'first',下一頁'next'等,p2,p3,p4值都相等.
          取得分頁所得數據的主要代碼如下:
          ?1String?page=?request.getParameter("page");
          ?2????????String?to=request.getParameter("toPage");
          ?3????????int?someCount=?getSystemManager().getAdvertisementCount();
          ?4????????int?pageCount=?0;
          ?5????????if(someCount<Constants.PAGENATION_RECORDS_COUNT){
          ?6????????????pageCount=someCount==0?0:1;
          ?7????????}
          else{
          ?8????????????if(someCount%Constants.PAGENATION_RECORDS_COUNT==0){
          ?9????????????????pageCount=someCount/Constants.PAGENATION_RECORDS_COUNT;
          10????????????}
          else{
          11????????????????pageCount=someCount/Constants.PAGENATION_RECORDS_COUNT+1;
          12????????????}

          13????????}

          14????????paramMap.put("totalRecordCount",someCount);
          15????????paramMap.put("totalPage",pageCount);
          16????????paramMap.put("rcount",Constants.PAGENATION_RECORDS_COUNT);
          17????????if(to!=null&&to.trim().length()>0){
          18??????????????if(Integer.parseInt(to)>pageCount){
          19????????????????paramMap.put("toPage",?pageCount);
          20?????????????}
          else{
          21????????????????paramMap.put("toPage",to);
          22????????????}

          23????????????paramMap.put("currentPage",Integer.parseInt(to));
          24????????}

          25????????if(page!=null){
          26????????????paramMap.put("toPage",page);
          27????????????paramMap.put("currentPage",Integer.parseInt(page));
          28????????}

          29????????if(to==null&&page==null){
          30????????????paramMap.put("toPage","1");
          31????????????paramMap.put("currentPage","1");
          32????????}

          33????????if(paramMap.get("toPage")==null){
          34????????????paramMap.put("toPage","1");
          35????????????paramMap.put("currentPage","1");
          36????????}

          37????????List?adsList?=?getSystemManager().getLiveAdverAndServerList(paramMap);

          getLiveServerList(paramMap)這個參數Map中用到兩個值toPage,rcount(每頁顯示記錄數),
          可以根據toPage的不同, Limit出不同段的數據.
          select?*?from?table_name?LIMIT?startrecord,pagecount
          posted on 2007-06-10 23:14 @yeafee 閱讀(1398) 評論(1)  編輯  收藏 所屬分類: 程序語言

          評論

          # re: 一段分頁處理總結(JS數據加減) 2007-06-13 10:03 王永濤
          很好  回復  更多評論
            

          主站蜘蛛池模板: 临泽县| 抚顺县| 特克斯县| 咸阳市| 西平县| 永州市| 洪江市| 庐江县| 阿拉善左旗| 梨树县| 慈溪市| 闵行区| 都兰县| 赤壁市| 崇文区| 杂多县| 松阳县| 哈密市| 海门市| 绵竹市| 湟中县| 诸暨市| 安化县| 延安市| 依兰县| 西和县| 鞍山市| 鲁山县| 那坡县| 拜城县| 安图县| 多伦县| 皮山县| 松桃| 区。| 酒泉市| 成都市| 肥西县| 榆中县| 灌阳县| 河西区|