Codeigniter-获取查询结果

时间:2013-12-31 22:15:12

标签: php mysql codeigniter

我希望得到所有查询结果,我从另一个查询获取id。我从两个表中获得了所有相关的id,但我只能在我的视图中显示一个结果。我的文件在哪里,我该如何解决这个问题? 我的控制器:

$results = $this->my_model->hd($query_array ,$limit, $offset);
$data['r']= $results ['rows'];
$data['num_results']= $results ['num_rows'];
$id_str = '';

foreach($results['rows'] as $row){
  $id_str .= $row->id . ',';
}

$id_str = rtrim($id_str, '');
$doff = $this->my_model->off($id_str);
$data['o']= $doff ['rows'];

我的模特:

function hd($query_array,$limit, $offset){

  //result query
  $q = $this->db->select('*')
                  ->from('a')
                  ->limit($limit, $offset);

  if (strlen($query_array['cy'])){
    $q->like('cy', $query_array['cy']);
  }
   if (strlen($query_array['cat'])){
    $q->where('cat', $query_array['cat']);
  }
   if (strlen($query_array['rat'])){
    $q->where('rat', $query_array['rat']);
  }

  $ret['rows'] = $q->get()->result();    
  $q = $this->db->select('COUNT(*) as count', FALSE)
                  ->from('r');

  if (strlen($query_array['cy'])){
    $q->like('cy', $query_array['cy']);
  }
   if (strlen($query_array['cat'])){
    $q->where('cat', $query_array['cat']);
  }
   if (strlen($query_array['rat'])){
    $q->where('rat', $query_array['rat']);
  }

  $tmp = $q->get()->result();
  $ret['num_rows'] = $tmp[0]->count;
  return $ret;        
}              
function off($id_str){
  $off_a = $this->db->select('*')
                    ->from('off')
                    ->where('r_id', $id_str);
  $ret['rows'] = $off_a->get()->result();
  return $ret;
}

我在视图中显示了foreach循环中的结果。我试着用自己和谷歌三天来解决这个问题,但没有运气。

0 个答案:

没有答案