【发布时间】:2016-12-29 13:24:13
【问题描述】:
我有两张桌子,即tbl_tools和tbl_tool_use。
tbl_tool_use 表是这样的
id user_id type tool_id quantity start_date end_date
30 27 engineer 5 2 2016-12-22
31 gdf team 8 2 2016-12-22
32 26 engineer 7 2 2016-12-22
33 26 engineer 7 2 2016-12-23
34 hamsu team 6 2 2016-12-22
35 27 engineer 7,5 2,2 2016-12-22
tbl_tools 表是这样的
id name quantity available type
5 cutting player 5 5 engineer
6 reflectors 2 2 team
7 spanner 8 8 engineer
8 tester 4 4 team
我希望我的结果是这样的:
id user_id type tool_id quantity start_date end_date
30 27 engineer cutting player 2 2016-12-22
31 gdf team tester 2 2016-12-22
32 26 engineer spanner 2 2016-12-22
33 26 engineer spanner 2 2016-12-23
34 hamsu team reflectors 2 2016-12-22
35 27 engineer cutting player,spanner 2,2 2016-12-22
但我会变成这样
id user_id type tool_id quantity start_date end_date
30 27 engineer cutting player 2 2016-12-22
31 gdf team tester 2 2016-12-22
32 26 engineer spanner 2 2016-12-22
33 26 engineer spanner 2 2016-12-23
34 hamsu team reflectors 2 2016-12-22
35 27 engineer cutting player 2,2 2016-12-22
如果我选择了更多tool_ids,那么也只会显示一个值。
这是我使用的代码,我的视图是这样的,我只显示了代码中受影响的部分
<tbody>
<?php $n=1;
foreach($all_assign_tool_info as $row) {
$t=explode(',',$row->tool_id);
foreach($tools as $res) {
foreach($t as $res1) {
if($res1==$res->id) {
$tool=$res->name;
//var_dump($tool);
}
}
}
}
?>
<tr>
<td><?= $tool ?></td>
</tr>
<?php
}?>
</tbody>
这是我的控制器
public function assign_tool($id = NULL)
{
$data['all_assign_tool_info'] = $this->Tool_model->get_permission('tbl_tool_use');
$data['tools']=$this->Tool_model->view_tools(null,null);
$data['subview'] = $this->load->view('admin/tool/assign_tool',$data, TRUE);
$this->load->view('admin/_layout_main', $data); //page load
}
我的模型是这样的
public function view_tools($limit,$offset)
{
$this->db->order_by('id','desc');
$query=$this->db->get('tbl_tools',$limit,$offset);
return $query->result();
}
请帮我解决我的问题
这是新包含的代码
我的tbl_tool_use 表是这样的
id user_id type tool_id quantity start_date end_date
136 27 engineer 11,5,7 3,5,2 2016-12-22
这意味着tool_id11是3,5是5和7分别是2
但结果是这样的5 是3,7 是5 和11 是2
得到的结果如下
Valid XHTML http://spdc.in/demo/spectra/spectra_tool.PNG.
【问题讨论】:
-
你已经在 foreach 循环之外打印了你的
。所以只显示一个值= $tool ?> -
三个具有三个不同变量的 foreach?哪一个包含表格数据?打印该变量并向我们展示一些数据
-
把
<tr> <td><?= $tool ?></td> </tr>放在foreach里面 -
@Anant
foreach($all_assign_tool_info as $row)包含tbl_tool_use的表数据,而这个foreach($tools as $res)包含表数据tbl_tools
标签: php mysql arrays codeigniter-2