$data['reg'] = $this->register->registerAcc($schoolID); $data['upd'] =$this->register->UpdateAcc($schoolID); $data['sus'] =$this->register->suspendAcc($schoolID);$this->load->view('account/accountInfo',$data);這是我的代碼,由更新、注冊和暫停組成。每個功能都有自己的“日期/時間”函數的每一端都有這樣的代碼:$this->db->order_by('register_Date','DESC');每個函數都有自己的日期,例如 register_Date , updateAcc_Date但是我有一個問題,當我在頁面中顯示時,列表將從Date Function UserName05-09-2019 Register Tom04-09-2019 Register Bors01-09-2019 Register Berry03-09-2019 Update Laxy 05-09-2019 Suspend Loi我想要的是Date Function UserName05-09-2019 Register Tom05-09-2019 Suspend Loi04-09-2019 Register Bors03-09-2019 Update Laxy 01-09-2019 Register Berry下面是我的模型public function registerAcc($schoolID){ $this->db->select('*');$this->db->from('registerdata');$this->db->where('school_ID',$schoolID);$this->db->order_by('registerDate','DESC');$query = $this->db->get();return $result = $query->result();}public function UpdateAcc($schoolID){$this->db->select('*');$this->db->from('UserUpdateLog');$this->db->where('school_ID',$schoolID);$this->db->order_by('UpdateDate','DESC');$query = $this->db->get();return $result = $query->result();}public function suspendAcc($schoolID){$this->db->select('*');$this->db->from('SuspendedData');$this->db->where('school_ID',$schoolID);$this->db->order_by('SuspendDate','DESC');$query = $this->db->get();return $result = $query->result();}我的觀點<thead style="width:300px;"><th>Date</th><th>Function</th><th>UserName</th></thead><?phpforeach ($reg as $row) { ?><tr><td ><?php echo $row->registerDate;?></td><td><?php echo $row->registerStatus></td><td><?php echo $row->registerUserName></td></tr><?phpforeach ($upd as $row) { ?><tr><td ><?php echo $row->UpdateDate;?></td><td><?php echo $row->UpdateStatus></td><td><?php echo $row->UpdateUserName></td></tr>請注意:由 3 個不同的表組成并將其設置為 $data但是當它能夠按 DESC 排序但它會根據“注冊”、“更新”和“暫停”進行排序時,我希望它能夠混合在一起并排序
1 回答

慕沐林林
TA貢獻2016條經驗 獲得超9個贊
您可以在 CI 模型中集成以下查詢,并將在單個函數中獲取所有數據。您可以只循環一次視圖中的結果數組,而不是 3。
SELECT
a.*
FROM
(SELECT
a1.registerDate AS dt,
a1.registerStatus AS st,
a1.registerUserName AS nm
FROM
registerdata AS a1
WHERE a1.school_ID = '$schoolID'
UNION
SELECT
a2.UpdateDate,
a2.UpdateStatus,
a2.UpdateUserName
FROM
UserUpdateLog AS a2
WHERE a2.school_ID = '$schoolID'
UNION
SELECT
a3.SuspendDate,
a3.SuspendStatus,
a3.SuspendUserName
FROM
SuspendedData AS a3
WHERE a3.school_ID = '$schoolID') AS a
ORDER BY a.dt DESC ;
- 1 回答
- 0 關注
- 141 瀏覽
添加回答
舉報
0/150
提交
取消