最新消息:本站所有跳转向bbs.ykit.cn的附件将全面停止,附件已转移到https://www.qingsj.com

帝国cms封装的一个点击ajax加载信息

帝国CMS 有客 808浏览
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代码

<code>


(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 : '没有此数据表'

                }

                $.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,                                // 每次查询多少条

                        offset : window.ajax_offset || 0,

                        tbname : 'news',                // 数据表名称

                        classid : 3,                        // 栏目ID

                        order : 'desc',                        // 排序

                        dom : '#html',                        // 向哪个DOM节点中插入数据 ID请填写# class填写. 例如<div id="html"> 填写 #html

                        click_dom : '#click'        // 触发事件的DOM

                },0);

        })


})


</code>


php接受代码:



<code>


<?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) ) );


?>


</code>

转载请注明:有客帮 » 帝国cms封装的一个点击ajax加载信息