PHP 板


LINE

看板 PHP  RSS
※ 引述《qaz5620 (阿德)》之銘言: : 我參考了版有的匯入csv檔案 以及分頁的方法 : 可是我試了好久還是沒能達到想要的結果 : 可以請大大幫們我看是哪邊錯誤嗎 感謝 : <?php : $intRowsOfPage = 500;//每頁顯示500筆 : $page = ($_GET['page'] == '') ? '1' : (int)$_GET['page'];//目前是第幾頁 : $lastPage = ceil(($intTotal/$intRowsOfPage)); : $upPage = ($page == 1) ? '1' : ($page-1); : $nextPage = ($page == $lastPage) ? $page : $page+1; : $startX = ((($page - 1) * $intRowsOfPage) + 1); : $endX = $startX + $intRowsOfPage; 先來個題外話,你這邊的寫法 $lastPage = 0 ,因為沒有 $intTotal 首先要知道的是你的 $startX 跟 $endX 是什麼意思, 以這邊來說 $startX 指的是當前頁開始的筆數 = (就是當前頁數-1) * 每頁要顯示的筆數 + 1 e.g. 第一頁 => $startX = (1-1) * 500 + 1 = 1 第二頁 => $startX = (2-1) * 500 + 1 = 501 $endX 名字上指的是當前頁面結束的筆數,可是這邊的寫法代表的會是下一頁開始的筆數, 不過這邊寫法沒差因為可以在判斷的時候可以用 < $endX 來做 e.g. 第一頁 => $endX = 1 + 500 = 501 第二頁 => $endX = 501 + 500 = 1001 (個人比較喜歡先 -1,因為意義上比較對 XD) 你的問題出在: 依照下面的用法感覺你的 $x 要指的是當前的列數? 可是你在 for 迴圈那邊卻把他指定成你這頁開始的第一筆然後 ++ 跑五百次, 整個邏輯變成每讀進一列就印 當前頁開始的筆數~結束的筆數, 又 因為你一直都在第一頁,所以你每讀一行就會印一次 1~500。 你要的邏輯: 應該是先用個變數讓它等於 0 or 1 之後用來代表當前的列數, 每讀取一列要把這個變數 ++ (這個也可以在後面都處理完後再做), 判斷當前列是不在 $startX 跟 $endX 之間, 如果是的話就印出來你要的欄位, 在當前列數 > or >= or == $endX 的時候就可以 break; 提早離開迴圈,不用一直讀到檔尾。 : $handle = fopen("bulkdata.csv", "r"); 開啟檔案來源 : while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { 來源不為空時 資料放進data : for ($x=$startX;$x<$endX;$x++){ 印出1~500筆資料 : print '第 ' . $x . '本書<br />' . "\n"; : } : } : $link = $_SERVER['PHP_SELF']; : print "<a href='$link?page=1'>第一頁</a>&nbsp;"; : print "<a href='$link?page=$upPage'>上一頁</a>&nbsp;"; : print "<a href='$link?page=$nextPage'>下一頁</a>&nbsp;"; : print "<a href='$link?page=$lastPage'>最後一頁</a>&nbsp;"; 如果你沒有把你的總筆數先取得,最後一頁會是第 0 頁 ... 點了之後那頁的 $startX 會變 -499,你可以自己看看要怎麼處理這個部份。 : fclose($handle); : ?> : 目前顯示的結果為1~500筆都再同一頁 然後一直重複1~500這樣 : 沒有辦法達到分頁的功能 邏輯錯誤的地方應該是在於while之後 : 但是小弟我想不出適當的邏輯 : 麻煩大大們幫我看一下 感謝! --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.134.25.14







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP