Php “多阵列”;“合并”;分为1个不同的结构

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

以上是我的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
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