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灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP