Php 将列名及其值插入另一个表中

Php 将列名及其值插入另一个表中,php,mysql,sql,mysqli,Php,Mysql,Sql,Mysqli,我在整理一些代码时遇到了一个小问题。我在这个网站上到处看看,运气都不好。我知道我几乎拥有了我所需要的一切,但仍然无法把所有的东西放在一起。别紧张,我是新手。。。我们开始: 我有一个包含很多字段的表: tbl1 (id, col1, col2, DocId, ..., col50) 我需要从中将信息放入另一个表中: tbl2 (id, id_doc, field, value) 我需要的是为每个文档输入 row 1 = DocId in id_doc, col1 in field, col1_

我在整理一些代码时遇到了一个小问题。我在这个网站上到处看看,运气都不好。我知道我几乎拥有了我所需要的一切,但仍然无法把所有的东西放在一起。别紧张,我是新手。。。我们开始: 我有一个包含很多字段的表:

tbl1 (id, col1, col2, DocId, ..., col50)
我需要从中将信息放入另一个表中:

tbl2 (id, id_doc, field, value)
我需要的是为每个文档输入

row 1 = DocId in id_doc, col1 in field, col1_value in value
row 2 = DocId in id_doc, col2 in field, col2_value in value

您可以想象,我可以获取字符串或数组中的值以供进一步使用,但我的问题是我无法将DocId放在每个键旁边&$值以供插入。 希望我足够清楚,谢谢你在这方面的帮助

你好。 只是想让你知道我找到了解决问题的办法。如果有人感兴趣,这里有一个适合我需要的解决方案。 首先,我创建了一个列名为的数组,并对每个列执行以下操作:

 foreach ($cols as $col)
 {
 $query = "SELECT DocId, $col FROM tbl1 WHERE DocId IS NOT NULL";
if ($result = $db2->query($query)) {

    while ($row = $result->fetch_assoc()) {

    echo $row['DocId'] . ', ' . $col . ', ' . utf8_decode($row[$col]) . '<br>';

    }    
$result->free();
}
}
瞧。 谢谢大家抽出时间。
顺便说一句,这是一个非常有用的网站:-a++

尝试选择col1,col2从tbl1到tbl2,其中1=2是转换db结构的一次性操作,或者您将需要进一步的查询?这是一个循环操作。它不应该是循环操作。我没有选择权。。。它是应用程序的一部分。其目的是从文件中获取数据,将其放入临时表中。用所需的信息更新表,然后将数据从临时表传输到生产表。很多PROD表都被更新了,我只是停留在这一点上。
 foreach ($cols as $col)
 {
 $query = "SELECT DocId, $col FROM tbl1 WHERE DocId IS NOT NULL";
if ($result = $db2->query($query)) {

    while ($row = $result->fetch_assoc()) {

    echo $row['DocId'] . ', ' . $col . ', ' . utf8_decode($row[$col]) . '<br>';

    }    
$result->free();
}
}