精華區beta PHP 關於我們 聯絡資訊
最近整理文件,發現之前使用PEAR寫的程式,整理了一下與大家分享。 這個範例對於目前已經習慣使用framework的人,可能沒什麼幫助。 不過仍然用傳統寫法的人,或許可以參考看看。試著使用PEAR來增加 開效率。 關於安裝PEAR的教學,可參考下列連結 1) http://goo.gl/Ae5qQ 2) http://goo.gl/foyno <?php /** * PEAR設置 */ //設定PEAR函式庫位置 $path= "C:\wamp\www\PEAR-1.9.4"; set_include_path(get_include_path(). PATH_SEPARATOR .$path); //載入相關函式庫 include_once("PEAR.php");//PEAR-1.9.4 include_once("DB.php");//DB-1.7.13 include_once("Pager.php");//Pager-2.4.8 /** * 建立資料庫連結 */ $dsn = array( 'phptype' => 'mysql', 'username' => 'root', 'password' => '', 'hostspec' => 'localhost', 'database' => 'demo', ); $db = DB::connect($dsn); if (PEAR::isError($db)) { die($db->getMessage()); } else { $db->query('SET NAMES UTF8'); } /** * 設置分頁器 */ //計算資料總筆數 $total = $db->getOne('SELECT COUNT(*) FROM items'); $config = array( 'mode' => 'Sliding',//分頁模式 'urlVar' => 'page_no',//頁碼變數名稱($_GET['page_no']); 'delta' => 15, 'perPage' => 10, //每頁筆數 'totalItems' => $total, //資料總筆數 ); //建立分頁器 $pager = Pager::factory($config); //建立分頁連結 $links = $pager->getLinks(); /** * 資料讀取範例 */ //取得檢視的頁碼 $page_no = isset($_GET['page_no']) ? $_GET['page_no'] : 1; //計算資料的讀取範圍 list($from, $to) = $pager->getOffsetByPageId($page_no); //執行SQL查詢 $data = $db->limitQuery("SELECT * FROM items", ($from - 1), $config['perPage']); ?> <html> <head><meta charset="utf-8" /></head> <body> <!-- 資料輸出 --> <table> <?php while ($row = $data->fetchRow(DB_FETCHMODE_OBJECT)):?> <tr> <!-- (預設)使用 DB_FETCHMODE_ORDERED $row[0] 使用 DB_FETCHMODE_ASSOC $row['fieldName'] 使用 DB_FETCHMODE_OBJECT $row->fieldName --> <td><?php echo $row->name; ?></td> </tr> <?php endwhile; ?> </table> <!-- 分頁器 --> <div><?php echo $links["all"]?></div> </body> </html> -- 歡迎來我的網誌看看 @ http://liaosankai.pixnet.net/blog -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.71.188.102
PTTLSboy:借問一下,為什麼使用framework,使用PEAR會沒什麼幫功 11/25 04:05
PTTLSboy:助 11/25 04:06
chief84:因為framework應該已經有提供怎麼處理分頁的方法了 11/25 08:57
PTTLSboy:感謝樓上:) 11/25 20:07