Php “多阵列”;“合并”;分为1个不同的结构
以上是我的3个不同的表结构Php “多阵列”;“合并”;分为1个不同的结构,php,arrays,codeigniter,Php,Arrays,Codeigniter,以上是我的3个不同的表结构 Table 1: StudentDB UserID(PK) REGID Username Password Timelog Status 1 1 tom 123 12/08/2019 Active 2 2 ben 544 13/08/2019 Active Table 2: UpdateDB REGI
Table 1: StudentDB
UserID(PK) REGID Username Password Timelog Status
1 1 tom 123 12/08/2019 Active
2 2 ben 544 13/08/2019 Active
Table 2: UpdateDB
REGID UpdateStatus Timelog Remark
1 Updated 14/08/2019 UpdatePassword
2 Updated 15/08/2019 UpdatePassword
1 Updated 17/08/2019 UpdatePassword
2 Updated 25/08/2019 UpdatePassword
Table 3: suspendDB
REGID SuspendStatus Timelog Remark
1 Suspended 20/08/2019 Acc Suspended
上面是我的控制器
我想要的是:
将我的所有行“合并”到一个具有预先固定列名的新数组中
如何使用这些数据创建新数组
$data['REGData'] = $this->user->SearchREG($REGID);
$data['updateData'] = $this->user->SearchUpdate($REGID);
$data['suspendData'] = $this->user->SearchSuspend($REGID);
我想要的(结果)(显示在查看页面)
与在codeigniter层中遍历循环不同,您可能希望您自己的查询草案能够做到这一点。它会扩展得更好 只需选择用户行以及他们的更新和挂起操作和
UNION
所有这些操作,因为它们共享相同的结构
REGID Username Timelog ActionStatus
1 tom 14/08/2019 UpdatePassword
2 ben 15/08/2019 UpdatePassword
1 tom 17/08/2019 UpdatePassword
1 tom 20/08/2019 Acc Suspended
2 ben 25/08/2019 UpdatePassword
不清楚你到底想要什么。请提供输入数据和预期输出的示例。@misorude在第一篇文章中添加,抱歉正在更新并错误单击“post”,因此循环更新数据库中的数据,循环suspendDB中的数据,并将两者放入一个数组中(以便您可以按Timelog对其进行排序),然后循环该数组,然后转到“查找”从StudentDB获取的记录中的用户名,在执行此操作时通过REGID值…
REGID Username Timelog ActionStatus
1 tom 14/08/2019 UpdatePassword
2 ben 15/08/2019 UpdatePassword
1 tom 17/08/2019 UpdatePassword
1 tom 20/08/2019 Acc Suspended
2 ben 25/08/2019 UpdatePassword
SELECT * FROM (
select u.REGID, st.Username, u.Timelog, u.Remark AS ActionStatus FROM updatedb AS u
JOIN studentdb AS st ON st.REGID = u.REGID
UNION ALL
select s.REGID, st.Username, s.Timelog, s.Remark AS ActionStatus FROM suspenddb AS s
JOIN studentdb AS st ON st.REGID = s.REGID
) t
ORDER BY t.Timelog ASC