兩個設定分頁的都出問題,想屎了.

來源:互聯網
上載者:User
query('SELECT COUNT(*) FROM library.messages')->fetchColumn(0);$sql = 'SELECT * FROM library.messages'." LIMIT $perpage OFFSET ".($offset-1);$result = $db->query($sql);if ($result){foreach ($result->fetchAll() as $row){echo "subject:    ".$row[5]."
";}}else{$error = $db->errorInfo();echo "error happened..".$error[2];exit();}buildIndex($perpage, $total);//1,50,3500/////////////////////////////////////////////////////////////////function buildLink($index, $offset){echo "$index";}function buildIndex($perpage, $total){$separator = '|';//buildLink($offset==1, '< $start) ? "$total":"";echo $separator;buildLink("$start-$end", $start);}?>


另一種思路的.....
query('SELECT COUNT(*) FROM library.messages')->fetchColumn(0);$sql = 'SELECT * FROM library.messages LIMIT '. ($offset -1)*$perpage.", $perpage ";$result = $db->query($sql);if ($result){foreach ($result->fetchAll() as $row){echo "subject:    ".$row[5]."
";}}else{$error = $db->errorInfo();echo "error happened..".$error[2];exit();}$numpage = $total%$perpage;if($total%$perpage) $numpage++;$cur = $offset;if ($cur < $numpage){echo " Next Page
";}if($cur > 0){echo " Prev Page
";}?>


問題如下:每次點擊下一頁,或者上一頁,顯示的都是同樣的內容,即首頁內容。 當資料表的內容有3000行...是怎麼回事啊?


回複討論(解決方案)

沒有看到你處理傳入的 offset

沒有看到你處理傳入的 offset



$offset = isset($_GET['pid'])?intval($_GET['pid']):1;if(!$offset) $offset = 1;開頭就處理了啊

參考了下往上的,現在修改如下:

";//測試語句$perpage = 30; //每頁顯示30條目資訊$offset = ($offset-1)*$perpage;$db = NEW PDO("mysql:host=localhost; port = 3306; dbname =library", 'root', 'cai123');$total = $db->query('SELECT COUNT(*) FROM library.messages')->fetchColumn(0); //擷取資訊的總數$sql = "SELECT * FROM library.messages LIMIT $offset, $perpage";$result = $db->query($sql);if ($result){foreach ($result->fetchAll() as $row){echo "subject:    ".$row[5]."
";}}else{$error = $db->errorInfo();echo "error happened..".$error[2];exit();}$numpage = ceil($total/$perpage);if($total%$perpage) $numpage++;//計算可以顯示為numpage頁if ($numpage > 1){for ($i = 1; $i <= $numpage; $i++){if ($i == $offset) //如果是當前頁{echo "$i";}else{//echo "$i ";echo "$i ";}}}

當我點擊顯示第20頁的內容時,測試資訊顯示的還是第一頁,但是我擷取的是:$_GET['offset']沒有錯啊,怎麼不論點那一頁都顯示是第一頁?

如,我點的是第20頁。瀏覽器地址欄顯示: http://127.0.0.1/php/example/setPage02.php?offset=20
但echo "the current page: $offset
"; 顯示的還是第一頁。
怎麼回事?

42 行有 ...setPage02.php? offset=$i'>$i....
而第 2 行是 $offset = isset($_GET[' ofset']) ? intval($_GET['offset']) : 1;

知道問題在哪了吧?

42 行有 ...setPage02.php? offset=$i'>$i....
而第 2 行是 $offset = isset($_GET[' ofset']) ? intval($_GET['offset']) : 1;

知道問題在哪了吧?





哈哈哈,,,,我已經被自己打敗了,看來我還是要換編輯工具了,這麼明顯的拼字差異沒發現,害得我好一頓糾結...THX

42 行有 ...setPage02.php? offset=$i'>$i....
而第 2 行是 $offset = isset($_GET[' ofset']) ? intval($_GET['offset']) : 1;

知道問題在哪了吧?




現在初學,我是在windows環境下,平時一直都是用EditPlus編輯工具,這麼明顯的差異就這麼放過去了,由衷的蛋碎》。。。
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.