1

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

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 以进行插入。希望我足够清楚,并感谢您对此的帮助。

再一次问好。只是为了让您知道我找到了解决问题的方法。如果有人感兴趣,这是适合我需要的解决方案。首先,我使用列名创建一个数组,然后执行“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++

4

0 回答 0