我有一个像下面这样的表目标id | subject | achievement | staff_id1 Target January 1150000 12 Target January 1350000 23 Target February 20000000 14 Target February 23500000 25 Target January 1500000 3我想展示的是在使用 sql 查询的 codeigniter 中SELECT * FROM `target` WHERE `staff_id`='$id' ORDER BY 'id' DESC LIMIT 3,1我已经尝试在 codeigniter 中使用 get where,order by 和 limit 查询但是屏幕变黑了这是模型代码 $id=get_staff_user_id(); $this->db->get_where('target', array('staff_id'=>$id,)); $this->db->order_by('id','desc'); $this->db->limit(3, 1); $query=$this->db->get(); return $query;这是控制器代码 $data['target'] = $this->target_model->getAllTarget()->result();这是查看代码 <?php foreach($targets as $target){ if($total >= floatval($target->achievement)) { $percent = 100; } else { if ($total !== 0) { $percent = number_format(($total * 100) / $target->achievement, 2); } } echo $percent; ?>我的代码中的错误在哪里?
2 回答
吃鸡游戏
TA贡献1829条经验 获得超7个赞
问题是 -get_where()已经返回一个数据库结果实例 - 为了解决您的问题,您必须执行类似的操作
return $this->db
->select('*')
->from('target')
->where('staff_id', get_staff_user_id())
->order_by('id', 'desc')
->limit(3,1)
->get();
莫回无
TA贡献1865条经验 获得超7个赞
在模型中:
删除多余的逗号
$id=get_staff_user_id();
$this->db->get_where('target', array('staff_id'=>$id));
$this->db->order_by('id','desc');
$this->db->limit(3, 1);
$query=$this->db->get();
return $query;
在控制器中:
将目标更改为目标,就像在 foreach 中一样,它从相同的数组名称中获取;
$data['targets'] = $this->target_model->getAllTarget()->result();
- 2 回答
- 0 关注
- 157 浏览
添加回答
举报
0/150
提交
取消