現在jquery的應用越來越廣泛了,在很多網站的新聞板塊都實現了 標籤分類 + 無重新整理分頁 的效果。
也自己嘗試寫了一個,如下(樣式可以按使用者需求自己去整):
接下來詳細介紹實現過程:
我一向是見招拆招的解決思路,這裡需要運用到3個東西——標籤頁效果外掛程式和分頁外掛程式,jquery的getJson請求。
因此我使用了jquery-ui外掛程式,jquery-page外掛程式,現提供下載地址:
jquery_all.rar
裡麵包含了3個JS指令檔和2個樣式表:
jquery-1.3.2.min.js
jquery.pager.js
jquery-ui-1.7.2.custom.min.js
jquery-ui-1.7.2.custom.css
Page.css
html頁面代碼如下:
複製代碼 代碼如下:
php + jquery ui + jquery pager
頁面對ajax4.php,ajax5.php,ajax6.php三個頁面進行了getJson請求,
這3個頁面代碼都差不多,無非是年份的分類而已,我這裡沒做代碼最佳化了,
實際完全可以放在同一個頁面裡處理完,請求地址裡附帶個參數就行了。
ajax.php代碼如下:
複製代碼 代碼如下:
header("content-type:text/html;charset:utf-8");
$db = @ mysql_connect("伺服器主機地址","資料庫帳號","資料庫密碼");
mysql_select_db("資料庫名");
$rs=mysql_query("set names utf8");
//如果傳遞了pager參數
if(isset($_GET['pager']) && isset($_GET['count']))
{
echo GetPager($_GET['count'],$_GET['pager']);
}
else
{
echo "沒有傳入參數!";
}
function GetPager($count,$pager)
{
$begin = 開始時間;
$end = 結束時間;
$rs=mysql_query("SELECT * FROM 資料表 WHERE (pubdate BETWEEN $begin AND $end) ORDER BY pubdate DESC limit ".($pager-1)*$count.",".$count);
while ($r=mysql_fetch_assoc($rs))
{
$temp[]=$r;
}
$html_string="
"; foreach($temp as $k=>$v) { //假設 url欄位為連結地址,title為新聞標題,pubdate為發表時間 $html_string.="
| ".$v['title']." |
".$v["pubdate"]." |
"; } $html_string.="
";
//這個是新聞讀取的數量,不建議讀取太多
$num=40;
//新聞的總頁數取整
$num_string=ceil($num/$count);
//這裡用索引值對的方式 返回JSON格式的資料,0為新聞總頁數,1為拼接的HTML新聞頁面
$arr=array("0"=>$num_string, "1"=>$html_string);
$jarr=json_encode($arr);
echo $jarr;
}
?>
jquery_all.rar
http://www.bkjia.com/PHPjc/320905.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/320905.htmlTechArticle現在jquery的應用越來越廣泛了,在很多網站的新聞板塊都實現了 標籤分類 + 無重新整理分頁 的效果。 也自己嘗試寫了一個,如下(樣式...