跳到主要內容

Xoops做一個單頁資料上下頁切換功能-教學撰寫:徐嘉裕Neil hsu

之前在開發Xoops模組如果有遇到上下頁切換都是使用Xoops內建函數,但是為了美觀改用bootstrap3的上下頁按鈕,這樣整個mysql查詢語法都要自己寫了,本來邏輯一直被卡在Limit查詢上解不出來,後來靈光乍現想到一個更簡單的方法來解決,分享給好朋友參考。


1、先引入neillibrary模組的function.php

2、加上以下的上下頁查詢資料表語法

//接收變數
$dbid=isset($_REQUEST['dbid'])?$_REQUEST['dbid']:"";

$dbneme="資料表名稱";

//上下頁面控制
//下一頁
$where=" where dbid > '".$dbid."' order by dbid ASC ";
$enshow['goahead']=moduledb($dbneme,$where);


//上一頁
$where=" where  dbid < '".$dbid."' order by dbid DESC ";
$enshow['retreatc']=moduledb($dbneme,$where);

備註說明:dbid為頁面的欄位id數值(PRIMARY KEY),這裡用dbid如要使用這個code可以改成自己頁面的id欄位名稱


3、然後輸出到smarty樣板

<nav >

<ul class="pager">

<{if $enshow.retreatc.dbid}> //如果有上一筆數值才出現按鈕判斷
<li><a href="<{xoAppUrl /}>modules/<{$xoops_dirname}>/moviecenter.php?op=page&dbid=<{$enshow.retreatc.dbid}>"><span aria-hidden="true">&larr;</span><{$smarty.const._MS_SHARED61}></a></li>

<{/if}>

<{if $enshow.goahead.dbid}> //如果有下一筆數值才出現按鈕判斷
<li><a href="<{xoAppUrl /}>modules/<{$xoops_dirname}>/moviecenter.php?op=page&dbid=<{$enshow.goahead.dbid}>"><{$smarty.const._MS_SHARED62}><span aria-hidden="true">&rarr;</span></a></li>

<{/if}>

</ul>

</nav>

這樣就能做上下頁切換了,如果沒有下一頁或上一頁會自動隱藏按鈕






教學撰寫:徐嘉裕 Neil hsu


留言