帝国CMS封装的ajax加载信息框架代码

 3892

帝国CMS通用封装的ajax加载信息框架代码,改改可以应用到任何地方。

HTML代码

<!DOCTYPE html>
<html>
<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.zztuku.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.zztuku.com/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)));
?>


本文网址:https://www.zztuku.com/detail-7717.html
站长图库 - 帝国CMS封装的ajax加载信息框架代码
申明:如有侵犯,请 联系我们 删除。

评论(0)条

您还没有登录,请 登录 后发表评论!

提示:请勿发布广告垃圾评论,否则封号处理!!

    编辑推荐