首先,我是新来的&抱歉,如果这个问题听起来很愚蠢,这就是我的问题。
我有两张这样的表
1.jobseets
2.jobsheet_tasks
表工作表存储了一些基本信息,如客户,日期和工作表。 jobsheet_tasks仅存储与每个工作表相关的任务。
on" jobsheets_tasks"表。 " jobsheets"的ID属于任务所属的存储用于参考目的
这是我的表格
在工作表下可以再增加一项任务。
为了获取两个表中的信息,我编写了以下查询。
public function get_jobsheets() {
$this->db->select('jobsheets.id, jobsheets.vehicle_number, jobsheets_tasks.task');
$this->db->from('jobsheets');
$this->db->join('jobsheets_tasks', 'jobsheets_tasks.jobsheet_id = jobsheets.id');
$query = $this->db->get();
if($query->num_rows() > 0) {
foreach ($query->result()as $row){
$data[] = $row;
}
return $data ;
}
}
我在这个视图中显示数据。
<?php
foreach($result as $jobsheet) {
?>
<tr>
<td><?php echo $customer->id;?></td>
<td><?php echo $customer->vehicle_number;?></td>
<td><?php echo $customer->task;?></td>
<?php } ?>
,输出就像这样
[输出错误] [3]
查询有效,但正如你在上面的图片中看到的那样,任务名为1&amp; 2属于工作单ID为61的一个工作单。
在视图中,任务属于显示为单独行的相同工作表,我想显示这样的数据。
[正确输出] [3]
相同工作表的任务一个接一个。
请协助我实现这一目标。请在代码级别提供您的解决方案。
感谢。
答案 0 :(得分:0)
作为我的理解如果您的查询工作正常,请检查foreach循环表的语法...关闭<tr>
标记
<?php
foreach($result as $jobsheet) {
?>
<tr>
<td><?php echo $customer->id;?></td>
<td><?php echo $customer->vehicle_number;?></td>
<td><?php echo $customer->task;?></td></tr>
<?php } ?>
答案 1 :(得分:0)
您可以在控制器中试用此功能.....
public function get_jobsheets() {
$this->db->select('jobsheets.id, jobsheets.vehicle_number, GROUP_CONCAT(jobsheets_tasks.task) as task');
$this->db->from('jobsheets');
$this->db->join('jobsheets_tasks', 'jobsheets_tasks.jobsheet_id = jobsheets.id');
$this->db->group_by('jobsheets.id, jobsheets.vehicle_number');
$this->db->order_by('jobsheets.id', 'desc');
$query = $this->db->get();
if($query->num_rows() > 0) {
foreach ($query->result()as $row){
$data[] = $row;
}
return $data ;
}
}