【问题标题】:fetch data from tow dependent select queries in codeigniter view from model从模型的codeigniter视图中从两个依赖选择查询中获取数据
【发布时间】:2015-02-04 13:01:47
【问题描述】:
class index_model extends CI_Model {

public function get_data()
{       

    $query = $this->db->query('SELECT * FROM sgrn_tblrecipe_addnew ORDER BY POPULARITY DESC LIMIT 4');
    $result=$query->result();
      foreach($result as $row)
      {

            $variable=$row->RECIPE_ID;
            $this->myOtherFunction($variable);
      }
    return $result;
}
function myOtherFunction($variable) 
{

       $query = $this->db->query('SELECT * FROM sgrn_tblrcp_user_like WHERE RECIPE_ID="'.$variable.'"');
       $result =$query->num_rows();
       echo $result;                     
       return $result;  
}
}

您好,我尝试使用我开发的这段代码来访问不同变量中的不同表数据,但我有一个问题,它没有给出第二次查询的结果。

实际上我通过将变量作为参数传递来使用函数调用技术...如果有任何其他方法可用,那么建议我...

我必须在MODEL 中使用多个选择查询来通过不同的表从数据库中获取数据,但是在通过这些 ID 获得第一个查询结果后,我必须在第二个查询中使用WHERE 子句,该子句从不同的表中给出不同的结果。 ... 这两个结果在VIEW 上作为不同的数据访问

【问题讨论】:

  • 如果我理解正确,你想要你的最后 4 个 tblrecipe_addnew 和每一个 user_like 的数量。我说的对吗?
  • 是的,但我想要两个结果分开,即来自 tblrecipe_addnew 和 tblrcp_user_like。但是 tblrcp_user_like 表结果取决于 tblrecipe_addnew 表行 ID...

标签: php mysql codeigniter


【解决方案1】:

您可以通过像下面的示例那样构建代码来获得相同的结果

$this->db->select('*');
            $this->db->from('R_dropzones');
            $query = $this->db->get();
            $dropzone_list = $query->result();

    if(!empty($dropzone_list))
    {
        $count=0;
        $j=0;
        foreach ($dropzone_list as $k=>$v)
        {
            /* Count Dropzone Qty */
            $this->db->select('u_drop_zone');
            $this->db->from('R_units');
            $this->db->where(array('u_status'=>'DZ','u_drop_zone'=>$v->dz_id));
            $unit_query = $this->db->get();
            $unit_count = $unit_query->num_rows();

            if( $unit_count > 0 )   
            {   
                $this->msg['Dropzone'][$j]['dz_qty']=$unit_count;
                $this->msg['Dropzone'][$j]['dz_id']=$v->dz_id;
                $this->msg['Dropzone'][$j]['dz_desc']=$v->dz_desc;
                $this->msg['Dropzone'][$j]['dz_barcode']=$v->dz_barcode;
                $j++;
                $count++;
            }   
        }

    }

【讨论】:

  • 嗨,内联$result 是否显示两个不同的结果作为第一个查询结果和第二个嵌套查询结果?我如何在视图中访问以及使用哪个变量
  • 您好,朋友我已经编辑了我之前的示例,以便您更好地理解。这里我将两个查询结果合并到一个数组中,以便可以访问单个数组中的所有值。
【解决方案2】:

你可以使用 $this->template->render();在期望模板中获取数据值的函数

$this->template->set_template('template_name');
$data['content'] = $result;
$this->template->write_view('content', $data);    
$this->template->render();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-09
    • 2015-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-28
    相关资源
    最近更新 更多