:::

8. 讀出資料並分頁(40分鐘)

一、利用 TadTools 內建分頁工具來分頁

引入TadTools工具

if(!file_exists(XOOPS_ROOT_PATH."/modules/tadtools/tad_function.php")){
 redirect_header("http://www.tad0616.net/modules/tad_uploader/index.php?of_cat_sn=50",3, "需要 tadtools 模組,可至<a href='http://www.tad0616.net/modules/tad_uploader/index.php?of_cat_sn=50' target='_blank'>Tad教材網</a>下載。");
}
include_once XOOPS_ROOT_PATH."/modules/tadtools/tad_function.php";

分頁語法(請放在 $sql 之下,$result=$xoopsDB->query($sql); 之前)

//getPageBar($原sql語法, 每頁顯示幾筆資料, 最多顯示幾個頁數選項);
$PageBar=getPageBar($sql,$num,$page_num);
$bar=$PageBar['bar'];
$sql=$PageBar['sql'];
$total=$PageBar['total'];

二、讀出所有資料並換頁


//讀出所有資料
function list_dict(){
  global $xoopsDB,$xoopsTpl;
  if(!file_exists(XOOPS_ROOT_PATH."/modules/tadtools/tad_function.php")){
   redirect_header("http://www.tad0616.net/modules/tad_uploader/index.php?of_cat_sn=50",3, "需要 tadtools 模組,可至<a href='http://www.tad0616.net/modules/tad_uploader/index.php?of_cat_sn=50' target='_blank'>Tad教材網</a>下載。");
  }
  include_once XOOPS_ROOT_PATH."/modules/tadtools/tad_function.php";

  //資料庫語法
  $sql="select * from `".$xoopsDB->prefix('oxford')."` order by eng";

  //getPageBar($原sql語法, 每頁顯示幾筆資料, 最多顯示幾個頁數選項);
  $PageBar=getPageBar($sql,20,$page_num);
  $bar=$PageBar['bar'];
  $sql=$PageBar['sql'];
  $total=$PageBar['total'];

  //將資料庫語法送出執行
  $result=$xoopsDB->query($sql) or redirect_header($_SERVER['PHP_SELF'],3, mysql_error());
  //利用迴圈將所有資料取回
  while(list($sn,$eng,$cht)=$xoopsDB->fetchRow($result)){
    $dict[$sn]['eng']=$eng;
    $dict[$sn]['cht']=$cht;
  }
  $xoopsTpl->assign("dict",$dict);
  $xoopsTpl->assign("bar",$bar);
}
  1. redirect_header() 是XOOPS內建的一個換頁並顯示訊息的函數。
  2. 這次直接以 $sn 作為樣板陣列的索引值:$dict[$sn]['eng']=$eng;
  3. 其中 $dict 和 $bar 會被套用到樣板中,因此,樣板可以這樣寫:
<{$bar}>
<table class="table">
  <{foreach from=$dict key=sn item=dict}>
    <tr>
      <td><{$dict.eng}></td>
      <td><{$dict.cht}></td>
      <td>
        <a href="main.php?op=edit&sn=<{$sn}>" class="btn btn-mini btn-warning">編輯</a>
        <a href="main.php?op=del&sn=<{$sn}>" class="btn btn-mini btn-danger">刪除</a>
      </td>
    </tr>
  <{/foreach}>
</table>
<{$bar}>
  1. class="table"、class="btn btn-mini btn-warning"、class="btn btn-mini btn-danger" 都是bootstrap語法,用來美化表格及按鈕。
  2. 更多語法請詳見:http://kkbruce.tw/Bootstrap/BaseCSS#tables

三、讓頁面預設執行讀出所有內容

//判斷目前動作該執行哪一個
switch($op){
  //當 $op 的值等於「動作1」時,欲執行的動作
  case "動作1":
  admin_do_something();
  break;

  //預設動作
  default:
  list_dict();
  break;
}

 


:::

搜尋

QR Code 區塊

https%3A%2F%2Ftad0616.net%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbdsn%3D1075%26tbsn%3D35

書籍目錄

展開 | 闔起

線上使用者

132人線上 (21人在瀏覽線上書籍)

會員: 0

訪客: 132

更多…