[英]How to remove redundant data in table from SQL query with join in codeigniter
控制器:
class adminpanel extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->model('login_database');
}
public function index() {
$data['h'] = $this->login_database->load_orders();
$this->load->view('admin_page', $data);
}
}
模型:
public function load_orders(){
$this->db->select('*');
$this->db->from('orders');
$this->db->join('order_detail', 'orders.serial = order_detail.orderid');
$this->db->join('customers', 'orders.customerid = customers.serial');
$this->db->order_by('date','DESC');
$query = $this->db->get();
$result = $query->result();
return $result;
}
}
視圖:
<table border="1" cellpadding="5px" cellspacing="1px" bgcolor="#FFFFFF">
<tbody>
<tr>
<td>Date</td>
<td>Delivery Time</td>
<td>Meal Name</td>
<td>Quantity</td>
<td>Customer Name</td>
<td>Phone</td>
<td>Location</td>
<td>Address</td>
<td>Payment Method</td>
</tr>
<?php foreach ($h as $row) { ?>
<tr>
<td><?php echo $row->date;?></td>
<td><?php echo $row->time;?></td>
<td><?php echo $row->prodname;?></td>
<td><?php echo $row->quantity;?></td>
<td><?php echo $row->name;?></td>
<td><?php echo $row->phone;?></td>
<td><?php echo $row->location;?></td>
<td><?php echo $row->address;?></td>
<td><?php echo $row->payment;?></td>
</tr>
<?php } ?>
</tbody>
</table>
返回的桌子上有太多冗余數據,例如,一位顧客訂購了許多不同的飯菜。 它在訂購的飯菜上一遍又一遍地顯示相同的客戶名稱。 如何消除這種情況並在表格中顯示?
請幫忙。
嘗試像這樣修改您的查詢,我使用了左聯接和右聯接。
$this->db->select('*');
$this->db->from('orders');
$this->db->join('order_detail', 'orders.serial = order_detail.orderid', 'left');
$this->db->join('customers', 'orders.customerid = customers.serial', 'right');
$this->db->order_by('date','DESC');
$query = $this->db->get();
$result = $query->result();
return $result;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.