0

我有一个用 codeigniter 框架编写的页面。现在我想在页面上添加一个按钮(例如“显示更多”),它将使用“ajax.php”从数据库中获取数据并将它们显示在网站上,但我不希望它单独连接到数据库然后获取结果,只是希望能够收集数据(在 ajax.php 中)以及在 codeigniter 控制器中(使用模型)......

希望你能理解我 :)

4

1 回答 1

1

在这里,您只需添加查看更多按钮并调用此 js 和 ajax 函数。这是我使用过的代码,请查看并根据您的要求使用它

$('.more').live("click",function() 
    {
        var this_tag = $(this);
        var ID = $(this).attr("id");
        if(ID)
        {
            $("ol#updates").addClass('tiny-loader');
            this_tag.html('Loading.....');
            $.post(siteUrl+"ajax/ajax_more",{lastmsg:ID,restid:$(this_tag).data("restid")},function(html){
            $("ol#updates").removeClass('tiny-loader');
            $("ol#updates").append(html);
            $("#more"+ID).remove();// removing old view-more button

            });
        }
        else
        {
            this_tag.fadeOut('slow');// no results
        }
        return false;
    });

ajax文件中的代码

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Ajax_more extends CI_Controller {

    public function __construct()
     {
        parent::__construct();
        $this->load->model('general_model');
        $this->limit =REVIEW_DETAIL;
     }

    public function index($offset = 0)
    {
         $lastmsg=$this->input->post('lastmsg');
         $rest_id=$this->input->post('restid');
        $value=('reviews.*,usermaster.Name as User');
        $joins = array
        (
              array
                (
                  'table' => 'tk_usermaster',
                  'condition' => 'usermaster.Id = reviews.UserId',
                  'jointype' => 'leftouter'
                 ),
        );
        $this->results = $this->general_model->get_joinlist('reviews',$value,$joins,array('reviews.Status'=>'Enable','reviews.RestaurantId'=>$rest_id,'reviews.Id <'=>$lastmsg),'reviews.Id','desc',$this->limit,$offset);
        $data['list_review']= $this->results['results'];
        ?>
        <?php foreach ($data['list_review'] as $row): ?>
         <div class="user_reviews_data" >
                        <div class="width-20 float-left">
                            <span class="padleft-10"><?php echo $row->User; ?> </span>
                            <br/>
                            <span class="padleft-10 "><div class="rateit" data-rateit-value="<?php echo $row->Rating;?>" data-rateit-ispreset="true" data-rateit-readonly="true"></div></span>
                           <div class="muted padleft-10 float-left"><small><?php echo date('dS M Y' ,strtotime($row->CreatedDate)); ?></small></div>
                        </div>
                        <div class="width-80 float-left"><?php echo $row->Feedback;?></div>
                        <span class="report_span"><a href="<?php echo site_url('report_form/index/review/'.$rest_id.'/'.$row->Id);?>" class="pop-up" data-element_id="<?php echo $row->Id; ?>">Report this Feedback <img src="<?php echo base_url();?>themes/images/FLAG_GREY.png"></a></span>    
                   </div>
        <?php
         $msg_id = $row->Id;
         endforeach; ?>
         </div>
                <div id="more<?php echo @$msg_id; ?>" class="btn-container center_text morebox">
                <a href="javascript:;" class="more btn orange_signup" id="<?php echo @$msg_id; ?>" data-restid="<?php echo $rest_id; ?>" title="view more">View More</a>
                </div>

         <?php
    }

}

于 2013-05-30T08:02:28.083 回答