【发布时间】:2014-05-14 20:52:31
【问题描述】:
所以我访问数据库以检索员工 ID 列表,然后使用该员工 ID 数组对数据库上的另一个表运行查询,该表根据员工 ID 获取该人的所有信息,但我是只获取语句中的最后一个值,但我需要获取并循环所有这些值。谁能看到我的错误?
public function manager_list()
{
$results = array();
$managers = $this->db->query('select `employee_id` from `managers`');
foreach($managers->result() as $row)
{
$employee_id = $row->employee_id;
}
$query = $this->db->query('select `employee_id`, `ssn`, `first_name`, `last_name`, `department`, `title`, `status` from `employees` where `employee_id` = "'.$employee_id.'"');
foreach ($query->result() as $row){
$results[] = array(
'employee_id' => $row->employee_id,
'ssn' => $row->ssn,
'first_name' => $row->first_name,
'last_name' =>$row->last_name,
'department' =>$row->department,
'title' =>$row->title,
'status' =>$row->status,
);
}
return $results;
}
这是使用代码点火器框架。
【问题讨论】:
-
您需要在获得员工 ID 后将右大括号移动到退货的正上方。第二个查询(和循环)需要在第一个循环的大括号内。
-
1.
for循环的结束}放错了位置。 2. 当然,这可以通过使用 JOIN 的单个 SQL 查询而不是循环中的一大堆查询来完成。 -
我不确定我理解你的意思@MarkS。
-
为什么不在查询中加入?您是否需要运行两个查询?
-
@JayBlanchard 是的,我需要运行两个查询,但第一个查询的结果会影响第二个查询的结果。
标签: php database codeigniter mysqli