給大家分享一段帝國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.companysz.com/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.companysz.com/tags/sjb/" target="_blank">數據表</a>名稱classid : 3, // 欄目IDorder : 'desc', // 排序dom : '#html', // 向哪個DOM節(jié)點中插入數據 ID請?zhí)顚? class填寫. 例如<div id="html"> 填寫 #htmlclick_dom : '#click' // 觸發(fā)事件的DOM},window.ajax_offset);})})
php代碼:
<?phpinclude '../e/class/connect.php'; // 數據庫配置文件與公共函數文件include '../e/class_sql.php'; // 數據庫操作文件include '../e/datacache/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) ) );?>以上就是帝國CMS封裝的ajax加載信息框架代碼的全部內容,希望對大家的學習和解決疑問有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答