:::
所有書籍
「[1062] PHP7入門」目錄
MarkDown
8-2 function.php
1. 建構開發環境與系統規劃
1-1 Visual Studio Code編輯器完整設定
1-2 各種訊息整理
1-3 test.php
1-4 index.php
1-5 templates/index.tpl
2. 寫入資料到資料庫
2-1 templates/index.tpl
2-2 templates/admin.tpl
2-3 css/my.css
2-4 admin.php
3. 資料庫讀取與程式的整併
3-1 admin.php
3-2 index.php
3-3 function.php
3-4 templtes/index.tpl
4. 加入登入及管理功能
4-1 header.php
4-2 footer.php
4-3 index.php
4-4 admin.php
4-5 templtes/header.tpl
4-6 templtes/footer.tpl
4-7 templtes/index.tpl
4-8 templtes/admin.tpl
4-9 templates/op_show_article.tpl
4-10 templates/op_list_article.tpl
4-11 css/my.css
4-12 signup.php
4-13 templtes/signup.tpl
5. 編輯器及上傳縮圖
5-1 includes/mailsender.php
5-2 config.php
5-3 verifyuser.php
5-4 signup.php
5-5 header.php
5-6 admin.php
5-7 main_login.php
5-8 loginheader.php
5-9 index.php
5-10 css/my.css
5-11 templates/nav.tpl
5-12 templates/admin.tpl
5-13 templates/index.tpl
5-14 templates/signup.tpl
5-15 templates/verifyuser.tpl
5-16 templates/main_login.tpl
5-17 templates/op_article_form.tpl
5-18 ckeditor/config.js
5-19 elFinder/elfinder_cke.php
6. 使用上傳物件及管理功能
6-1 admin.php
6-2 index.php
6-3 templates/nav.tpl
6-4 templates/index.tpl
6-5 templates/admin.tpl
6-6 templates/footer.tpl
6-7 templates/op_article_form.tpl
6-8 templates/op_list_article.tpl
6-9 templates/op_show_article.tpl
6-10 css/my.css
6-11 reporter.sql
7. 多人合作開發
7-1 admin.php
7-2 index.php
7-3 function.php
7-4 templates/op_modify_article.tpl
7-5 templates/op_article_form.tpl
7-6 templates/op_modify_article.tpl
7-7 .gitignore
8. 文章分頁及搜尋
8-1 index.php
8-2 function.php
8-3 PageBar.php
8-4 search.php
8-5 css/my.css
8-6 templates/op_show_article.tpl
8-7 templates/op_list_article.tpl
8-8 templates/nav.tpl
8-9 templates/search.tpl
8-10 templates/op_search_article.tpl
8-11 templates/op_search_form.tpl
9. JOIN資料表及寄信功能
9-1 search.php
9-2 function.php
9-3 admin.php
9-4 templates/op_search_article.tpl
9-5 templates/op_show_article.tpl
8-4 search.php
\[1062\] PHP7入門 =============== ``` <pre class="brush:php;gutter:false;"> <?php function getPageBar($mysqli = '', $sql = "", $show_num = 20, $page_list = 10, $to_page = "", $url_other = "") { //die('PHP_SELF:'.$_SERVER['PHP_SELF']); if (empty($show_num)) { $show_num = 20; } if (empty($page_list)) { $page_list = 10; } $result = $mysqli->query($sql) or die($mysqli->connect_error); $total = $result->num_rows; $navbar = new PageBar($total, $show_num, $page_list); if (!empty($to_page)) { $navbar->set_to_page($to_page); } if (!empty($url_other)) { $navbar->set_url_other($url_other); } $mybar = $navbar->makeBar(); $main['bar'] = " <div class='row'> <nav class='mx-auto' id='pagination'> <ul class='pagination'> {$mybar['left']} {$mybar['center']} {$mybar['right']} </ul> </nav> </div> "; $main['sql'] = $sql . $mybar['sql']; $main['total'] = $total; return $main; } class PageBar { // 目前所在頁碼 public $current; // 所有的資料數量 (rows) public $total; // 每頁顯示幾筆資料 public $limit = 10; // 目前在第幾層的頁數選項? public $pCurrent; // 總共分成幾頁? public $pTotal; // 每一層最多有幾個頁數選項可供選擇,如:3 = {[1][2][3]} public $pLimit; // 要使用的 URL 頁數參數名? public $url_page = "g2p"; // 會使用到的 URL 變數名,給 process_query() 過濾用的。 public $used_query = array(); public $query_str; // 存放 URL 參數列 //指定頁面 public $to_page; //其他連結參數 public $url_other; public function __construct($total, $limit = 10, $page_limit) { $limit = intval($limit); //die(var_export($limit)); $mydirname = basename(dirname(__FILE__)); $this->to_page = $_SERVER['PHP_SELF']; $this->limit = $limit; $this->total = $total; $this->pLimit = $page_limit; } public function init() { $this->used_query = array($this->url_page); $this->query_str = $this->processQuery($this->used_query); $this->glue = ($this->query_str == "") ? '?' : '&'; $this->current = (isset($_GET[$this->url_page])) ? intval($_GET[$this->url_page]) : 1; if ($this->current < 1) { $this->current = 1; } $this->pTotal = ceil($this->total / $this->limit); $this->pCurrent = ceil($this->current / $this->pLimit); } // 處理 URL 的參數,過濾會使用到的變數名稱 public function processQuery($used_query) { // 將 URL 字串分離成二維陣列 $QUERY_STRING = htmlspecialchars($_SERVER['QUERY_STRING']); $vars = explode("&", $QUERY_STRING); //die(var_export($vars)); for ($i = 0; $i < count($vars); $i++) { if (substr($vars[$i], 0, 7) == "amp;g2p") { continue; } //echo substr($vars[$i],0,7)."<br>"; $var[$i] = explode("=", $vars[$i]); } // 過濾要使用的 URL 變數名稱 for ($i = 0; $i < count($var); $i++) { for ($j = 0; $j < count($used_query); $j++) { if (isset($var[$i][0]) && $var[$i][0] == $used_query[$j]) { $var[$i] = array(); } } } $vars = array(); // 合併變數名與變數值 for ($i = 0; $i < count($var); $i++) { $vars[$i] = implode("=", $var[$i]); } // 合併為一完整的 URL 字串 $processed_query = ""; for ($i = 0; $i < count($vars); $i++) { $glue = ($processed_query == "") ? '?' : '&'; // 開頭第一個是 '?' 其餘的才是 '&' if ($vars[$i] != "") { $processed_query .= $glue . $vars[$i]; } } return $processed_query; } // 製作 sql 的 query 字串 (LIMIT) public function sqlQuery() { $row_start = ($this->current * $this->limit) - $this->limit; $sql_query = " LIMIT {$row_start}, {$this->limit}"; return $sql_query; } public function set_to_page($page = "") { $this->to_page = $page; } public function set_url_other($other = "") { $this->url_other = $other; } // 製作 bar public function makeBar($url_page = "none") { if ($url_page != "none") { $this->url_page = $url_page; } $this->init(); // 取得其他連結參數 $loadtime = $this->url_other; // 取得目前頁框(層)的第一個頁數啟始值,如 6 7 8 9 10 = 6 $i = ($this->pCurrent * $this->pLimit) - ($this->pLimit - 1); $bar_center = ""; while ($i <= $this->pTotal && $i <= ($this->pCurrent * $this->pLimit)) { if ($i == $this->current) { $bar_center = " {$bar_center} <li class='page-item active'> <a href='{$this->to_page}{$this->query_str}{$this->glue}{$this->url_page}={$i}{$loadtime}' title='{$i}' class='page-link'>{$i}<span class='sr-only'>(current)</span></a> </li>"; } else { $bar_center .= " <li class='page-item'> <a href='{$this->to_page}{$this->query_str}{$this->glue}{$this->url_page}={$i}{$loadtime}' title='{$i}' class='page-link'>{$i}</a> </li>"; } $i++; } $bar_center = $bar_center . ""; // 往前跳一頁 if ($this->current <= 1) { //$bar_left=$bar_first=""; $bar_left = "<li class='page-item disabled'><a href='#' class='page-link'>‹</a></li>"; $bar_first = "<li class='page-item disabled'><a href='#' class='page-link'>«</a></li>"; } else { $i = $this->current - 1; $bar_left = "<li class='page-item'><a href='{$this->to_page}{$this->query_str}{$this->glue}{$this->url_page}={$i}{$loadtime}' title='回上頁' class='page-link'>‹</a></li>"; $bar_first = "<li class='page-item'><a href='{$this->to_page}{$this->query_str}{$this->glue}{$this->url_page}=1{$loadtime}' title='回第一頁' class='page-link'>«</a></li>"; } // 往後跳一頁 if ($this->current >= $this->pTotal) { //$bar_right=$bar_last=""; $bar_right = "<li class='page-item disabled'><a href='#' class='page-link'>›</a></li>"; $bar_last = "<li class='page-item disabled'><a href='#' class='page-link'>»</a></li>"; } else { $i = $this->current + 1; $bar_right = "<li class='page-item'><a href='{$this->to_page}{$this->query_str}{$this->glue}{$this->url_page}={$i}{$loadtime}' title='下一頁' class='page-link'>›</a></li>"; $bar_last = "<li class='page-item'><a href='{$this->to_page}{$this->query_str}{$this->glue}{$this->url_page}={$this->pTotal}{$loadtime}' title='上一頁' class='page-link'>»</a></li>"; } // 往前跳一整個頁框(層) if (($this->current - $this->pLimit) < 1) { $bar_l = ""; } else { $i = $this->current - $this->pLimit; $bar_l = ""; } //往後跳一整個頁框(層) if (($this->current + $this->pLimit) > $this->pTotal) { $bar_r = ""; } else { $i = $this->current + $this->pLimit; $bar_r = ""; } $page_bar['center'] = $bar_center; $page_bar['left'] = $bar_first . $bar_l . $bar_left; $page_bar['right'] = $bar_right . $bar_r . $bar_last; $page_bar['current'] = $this->current; $page_bar['total'] = $this->pTotal; $page_bar['sql'] = $this->sqlQuery(); return $page_bar; } } ```
:::
搜尋
search
進階搜尋
QR Code 區塊
快速登入
所有討論區
「PHP全端開發」線上課程討論區
XOOPS使用討論區
一般研習學員
社大學員專用
路過哈啦區
XOOPS佈景設計
XOOPS模組開發
Tad書籍區
即時留言簿
書籍目錄
總目錄
1.建構開發環境與系統規劃
1-1Visual Studio Code編輯器完整設定
1-2各種訊息整理
1-3test.php
1-4index.php
1-5templates/index.tpl
2.寫入資料到資料庫
2-1templates/index.tpl
2-2templates/admin.tpl
2-3css/my.css
2-4admin.php
3.資料庫讀取與程式的整併
3-1admin.php
3-2index.php
3-3function.php
3-4templtes/index.tpl
4.加入登入及管理功能
4-1header.php
4-2footer.php
4-3index.php
4-4admin.php
4-5templtes/header.tpl
4-6templtes/footer.tpl
4-7templtes/index.tpl
4-8templtes/admin.tpl
4-9templates/op_show_article.tpl
4-10templates/op_list_article.tpl
4-11css/my.css
4-12signup.php
4-13templtes/signup.tpl
5.編輯器及上傳縮圖
5-1includes/mailsender.php
5-2config.php
5-3verifyuser.php
5-4signup.php
5-5header.php
5-6admin.php
5-7main_login.php
5-8loginheader.php
5-9index.php
5-10css/my.css
5-11templates/nav.tpl
5-12templates/admin.tpl
5-13templates/index.tpl
5-14templates/signup.tpl
5-15templates/verifyuser.tpl
5-16templates/main_login.tpl
5-17templates/op_article_form.tpl
5-18ckeditor/config.js
5-19elFinder/elfinder_cke.php
6.使用上傳物件及管理功能
6-1admin.php
6-2index.php
6-3templates/nav.tpl
6-4templates/index.tpl
6-5templates/admin.tpl
6-6templates/footer.tpl
6-7templates/op_article_form.tpl
6-8templates/op_list_article.tpl
6-9templates/op_show_article.tpl
6-10css/my.css
6-11reporter.sql
7.多人合作開發
7-1admin.php
7-2index.php
7-3function.php
7-4templates/op_modify_article.tpl
7-5templates/op_article_form.tpl
7-6templates/op_modify_article.tpl
7-7.gitignore
8.文章分頁及搜尋
8-1index.php
8-2function.php
8-3PageBar.php
8-4search.php
8-5css/my.css
8-6templates/op_show_article.tpl
8-7templates/op_list_article.tpl
8-8templates/nav.tpl
8-9templates/search.tpl
8-10templates/op_search_article.tpl
8-11templates/op_search_form.tpl
9.JOIN資料表及寄信功能
9-1search.php
9-2function.php
9-3admin.php
9-4templates/op_search_article.tpl
9-5templates/op_show_article.tpl
展開
|
闔起
線上使用者
95
人線上 (
5
人在瀏覽
線上書籍
)
會員: 0
訪客: 95
更多…
:::
主選單
NTPC OpenID
活動報名
模組控制台
進階區塊管理
站長工具箱(急救版)
網站地圖
Tad Tools 工具包
站長工具箱
行事曆
討論留言
嵌入區塊模組
快速登入
網站計數器
好站連結
最新消息
檔案下載
線上書籍
電子相簿
影音播放
常見問題
萬用表單
友站消息
社大學員
新聞
下載
教材
影音
討論
其他選單
好站連結
行事曆
電子相簿
常見問題
萬用表單
即時留言簿
友站消息
社大學員
登入
登入
帳號
密碼
登入