帝國CMS通用封裝的ajax加載信息框架代碼,改改可以應用到任何地方。
HTML代碼<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
xml:lang
=
"en"
>
<
head
>
<
meta
http-equiv
=
"Content-Type"
content
=
"text/html;charset=UTF-8"
>
<
title
>Document</
title
>
<
script
src
=
"/ajax/jquery-1.11.2.min.js"
type
=
"text/javascript"
></
script
>
<
script
src
=
"/ajax/loadNews.js"
type
=
"text/javascript"
></
script
>
<
style
type
=
"text/css"
>
li{
height: 40px;
line-height: 40px;
}
</
style
>
</
head
>
<
body
>
<
div
id
=
"html"
></
div
>
<
div
><
button
id
=
"click"
>點擊加載更多</
button
></
div
>
</
body
>
</
html>
js代碼(
function
($) {
$.load_news =
function
(initdata, ajax_offset){
window.ajax_offset = ajax_offset;
var
ajaxutl =
'/ajax/result.php'
;
var
init_data = {
limit : 0,
offset : window.ajax_offset,
tbname :
''
,
classid : 0,
order :
''
,
dom :
''
,
click_dom :
''
}
init_data = $.extend({}, init_data, initdata);
var
result_lang = {
data_0 :
'<font color="red" size="+1">暫無數據</font>'
,
tbname_not :
'沒有此<a href="http://www.11px.cn/tags/sjb/" target="_blank">數據表</a>'
}
$.post(
ajaxutl,
init_data,
function
(data){
var
data = data;
if
(data.status==
'data_0'
)
{
// 沒有數據了~~~~
$(init_data.dom).append(result_lang[data.status]);
// 移除click
$(init_data.click_dom).remove();
// 設置按鈕
//$(init_data.click_dom).attr('disabled', 'disabled');
return
false
;
}
$(init_data.dom).append(data.html);
window.ajax_offset =data.offset;
},
'json'
);
}
})(jQuery);
$(
function
(){
$(
"#click"
).click(
function
(){
$.load_news({
limit : 20,
// 每次查詢多少條
tbname :
'news'
,
// <a href="http://www.11px.cn/tags/sjb/" target="_blank">數據表</a>名稱
classid : 3,
// 欄目ID
order :
'desc'
,
// 排序
dom :
'#html'
,
// 向哪個DOM節點中插入數據 ID請填寫# class填寫. 例如<div id="html"> 填寫 #html
click_dom :
'#click'
// 觸發事件的DOM
},window.ajax_offset);
})
})
php代碼<?php
include
'../e/class/connect.php'
;
// 數據庫配置文件與公共函數文件
include
'../e/class/db_sql.php'
;
// 數據庫操作文件
include
'../e/data/dbcache/class1.php'
;
// 欄目緩存文件
$link
= db_connect();
// 鏈接數據庫
$empire
=
new
mysqlquery();
// 實例化數據庫操作類
$p
=
$_POST
;
// 簡寫post
$_POST
= null;
// 釋放post
$filter
=
'RepPostVar'
;
// 過濾非法數據
$tbname
=
$filter
(
$p
[
'tbname'
]);
// 數據表名
// 判斷表是否存在
if
( !
$tbname
|| in_array(
$tbname
,
$etable_r
) )
{
die
( json_encode(
array
(
'status'
=>
'tbname_not'
) ) );
}
// 欄目ID
$classid
= (int)
$p
[
'classid'
];
// order
$order
=
$filter
(
$p
[
'order'
]);
// 查詢偏移量
$offset
= (int)
$p
[
'offset'
];
if
(
$order
==
'desc'
&&
$offset
!= 0 )
{
$where_offset
=
' and id < '
.
$offset
;
}
else
{
$where_offset
=
''
;
}
if
(
$order
==
'asc'
)
{
$where_offset
=
' and id > '
.
$offset
;
}
$where
=
' WHERE 1'
;
$where
.=
$classid
?
' AND `classid` = '
.
$classid
:
''
;
$where
.=
$where_offset
;
$order
=
'ORDER BY id '
.
$order
;
$limit
= (int)
$p
[
'limit'
];
$limit
=
'LIMIT '
.
$limit
;
$sql
=
"SELECT {$maxid}id,classid,newspath,filename,groupid,titleurl,title FROM `{$dbtbpre}ecms_{$tbname}` {$where} {$order} {$limit}"
;
$num
=
$empire
->num(
$sql
);
if
(
$num
<1){
die
( json_encode(
array
(
'status'
=>
'data_0'
,
'sql'
=>
$sql
) ) );
}
$query
=
$empire
->query(
$sql
);
$last
= 0;
$html
=
''
;
while
(
$r
=
$empire
->fetch(
$query
)){
$last
=
$r
[
'id'
];
$url
= sys_ReturnBqTitleLink(
$r
);
$html
.= <<<HTML_LIST
<li>id ---
$r
[id]<a href=
"{$url}"
>
$r
[title]</a></li>
HTML_LIST;
}
die
( json_encode(
array
(
'status'
=>
'ok'
,
'html'
=>
$html
,
'offset'
=>
$last
,
'sql'
=>
$sql
) ) );
?>
新聞熱點
疑難解答