我正在CodeIgniter中 * 加载更多 * 功能。
问题是,当我点击Load More按钮时,一个使用 AJAX 的请求发送到控制器。但是参数没有到达CodeIgniter模型,但是我可以在控制器中打印它。下面是代码,你可以正确理解问题。
** AJAX 请求**
function loadmore(){
var pid = $('#last_id').val();
base_url="<?php echo base_url(); ?>";
$.ajax({
type : "post",
url:base_url+"News/loadmore_news",
data : {'pid' : pid},
success : function(res){
for(var i=0;i<res.length;i++){
// here is my code
}
}
});
}
控制器
function loadmore_news(){
$lastid = $this->input->post('pid'); // here when i print this it shows the value which is coming from ajax request.
$more_news = $this->news_model->get_more_news($lastid);
echo jsone_encode($more_news);
}
型号
function get_more_news($last_id){
//echo $last_id; here when I print it is shows nothing.
$this->db->select('*')->order_by('id desc');
$this->db->where(array('id <'=>$last_id,'domain_id'=> config_item('domain_id')));
$this->db->order_by('id desc');
$this->db->limit(6);
$query = $this->db->from('press')->get();
$getmorenews = $query->result();
return $getmorenews;
}
当参数未到达模型时,显示以下DB错误。
SQL语法中有错误;请查看与您的MySQL服务器版本对应的手册,以了解在第4行“AND domain_id
= '86' ORDER BY id
desc,id
desc LIMIT 6”附近使用的正确语法。
由于$last_id未从控制器获取值,因此以下查询将出错。
SELECT * FROM `press` WHERE `id` < AND `domain_id` = '86' ORDER BY `id` desc, `id` desc LIMIT 6
问题
我的问题是我做错了什么,因为我没有得到模型中的变量值?
2条答案
按热度按时间laximzn51#
对不起,我不能评论,由于缺乏声誉。我猜你需要调试变量。这里是一些想法。
你的模型没问题谢谢
brvekthn2#
hello @Hamza Zafeer时间bool值就像0一样,它什么都不显示首先尝试一个静态值,如果它来了,那么你可以尝试用这个
主计长