gpt4 book ai didi

php - 将一个表中的列与另一个表中的列进行匹配

转载 作者:行者123 更新时间:2023-11-30 00:45:41 25 4
gpt4 key购买 nike

很抱歉标题令人困惑,让我尝试解释一下。该问题涉及自定义日志软件,公司可以在其中设计自己的“日志”。每个日志都有一个相应的元数据表,其中包含其日志中的列。

我正在使用 php 渲染日志中数据的显示。我首先访问元表中的列名称,并使用它通过 foreach 构建表标题,如下所示

foreach ($logStructure as $header)
{
echo '<th>' . $header['label'] . '</th>';
}
endforeach;

现在我从实际日志中进行了另一次选择以显示要显示的行,并将其放入数组中调用 $logrow。我如何迭代这些行并将正确的数据放入正确的列中?在 SQl 中,我会使用 WHERE 子句来表达相当于以下内容的内容:

'WHERE $logrow['fieldname'] = $header['label']'

作为示例,元表字段如下所示

[metaid] [columnLabel] [columnNameInData]
001 Log Number logNum
002 Author CreateUser
003 Subject Entry

数据通过这样的语句放入 $header[] 中

SELECT columnLabel AS label FROM metatable;

日志结构如下所示

[logNum]  [CreateUser]       [Entry]
001 Admin Some Text about Stuff
002 Editor 1 Another Amazing Entry
003 Editor 2 It gets old by now

所以选择看起来像这样

SELECT logNum, CreateUser, Entry FROM log 

数据被放入$logrow['lognum']、$logrow['CreateUser']、$logrow['Entry']

希望这能更好地解决问题,我希望将元数据中的列名称与实际数据中这些字段的值相匹配。

最佳答案

如果序列始终相同,并且您只是尝试在同一个表中渲染它,那么我不知道是什么阻止您将两者读入两个单独的数组,然后将其绘制到表上。

首先是这个:

从元表中选择columnNameInData ORDER BY metaid;

将结果放入数组$sort

然后将其内爆并构建第二个 select 子句:

$columns=implode(', ', $sort);
$SQL="SELECT $columns FROM log";

并将结果读入数组$result2

最后,将您拥有的 header 和 $result2 的输出组装为日志的行和 tds,该表应该具有与 header 对齐的记录。

关于php - 将一个表中的列与另一个表中的列进行匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21373756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com