【发布时间】:2012-01-23 19:02:57
【问题描述】:
我正在尝试计算我的表格中满足特定条件的行数。我的代码工作正常并相应地返回行数。但我无法在我的视图中回显该行数
我的控制器:
function index(){
$data['states'] = $this->state_model->get_cities();
$data['status'] = $this->state_model->get_status();
$this->load->view('testviewad', $data);
}
在第二行存储了行数。如果我这样做了
<?php echo $status?>
在我看来它显示了
0
0
0
0
但我应该展示
0
1
3
0
如果我从模型中回显,则计算的行数正确显示。所以我的查询有效。但我认为我在传递给视图时犯了错误。谁能告诉我我做错了什么。
我的模特:
function get_status(){
$states = $this->db->get('state');
$like = array();
foreach ($states->result() as $state){
$cities = $this->db->get_where('city', array('state_id'=> $state->id));
foreach ($cities->result() as $v){
$s=$v->city_id."<br/>";
$this->db->where('city_city_id',$v->city_id);
$this->db->where('status_status_id',1);
$q=$this->db->get('info');
$sql = $q->num_rows();
}
return $sql;
}
}
我正在使用 codeigniter。 提前致谢。
【问题讨论】:
-
首先,编写有效的 PHP 是一个好习惯。也就是说,不要
<?php echo $status?>,而是<?php echt $status; ?>。直接从控制器回显时会得到什么?还是0 0 0 0还是0 3 1 0? -
如果从模型中回显,例如,如果我回显 $sql,它会显示正确的答案。
-
将
return $sql;上移一行,在}之前
标签: sql database codeigniter view