【发布时间】:2019-05-26 05:58:30
【问题描述】:
我有一个在 foreach 循环中运行的查询,但它只在下面提到的代码之后一次运行:
public function functional_job($functional)
{
$functions = explode(",",$functional);
foreach($functions as $row)
{
$this->db->select('*');
$this->db->from('job');
$this->db->where('functional',$row);
$query = $this->db->get();if($query->num_rows()>0)
{
$result = $query->result_array();
return $result;
}
else
{
$this->session->set_flashdata('msg','<p style="color:red;font-weight: 600;">No Job Found.</p>');
}
}
}
在哪里$functional = IT,marketing,ecommerce。当我点击查询时,它只运行一个像SELECT * FROM job WHERE functional = 'IT' 这样的查询。但我希望它运行三遍,即SELECT * FROM job WHERE functional = 'IT' SELECT * FROM job WHERE functional = 'marketing' SELECT * FROM job WHERE functional = 'ecommerce'
【问题讨论】:
-
目前,如果返回结果,函数将返回该值并停止处理
-
你在第一次得到一些数据时返回
return $result;。还可以使用IN进行查询,您将在 1 个查询中获得所有结果。 (类似于functional in( 'IT','marketing','ecommerce')) -
如何使用
IN@NigelRen -
因为我不确定您是如何获取数据的(您是否使用 ORM 等)我不确定。
标签: php codeigniter mysqli