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

时间:2013-10-28 15:39:01

标签: php mysql sql mysqli

我将一些代码放在一起有一个小问题。我在这个网站上环顾四周,没有运气。我知道我几乎拥有我所需要的所有东西,但仍然无法将它们全部放在一起。放轻松对待我,我是这个新手......我们走了: 我有一张包含很多字段的表格:

tbl1 (id, col1, col2, DocId, ..., col50)

我需要将信息放入另一个表中:

tbl2 (id, id_doc, field, value)

我需要的是为每个DocId

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

...

$query = "SELECT * FROM tbl1 WHERE DocId IS NOT NULL";

if ($result = $db2->query($query)) {
$field_val='';
$value_val='';

while ($row = $result->fetch_assoc()) {
foreach($row as $key => $value)
{
     // echo $key ." = " . utf8_decode($value) ."<br>";
    $field_val[] = $key;
    $value_val[] = utf8_decode($value);
}
}
$result->free();
}

你可以想象,我可以在字符串或数组中获取值以供进一步使用,但我的问题是我无法在每个键和旁边都有DocId。插入的$ value。 希望我足够清楚,感谢你对此的帮助。

再次问好。 只是为了让你知道我找到了解决问题的方法。如果有人感兴趣,这里的解决方案适合我的需求。 首先,我用列名创建一个数组,然后我做“foreach”:

 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 ++

0 个答案:

没有答案