1

我在数据库中有新表来跟踪标签,如下所示:

    TAG NAME | IMAGE ID 

    funny       570
    funny       571
    dog         649

我有旧表来跟踪标签,如下所示:

TAG ID | TAG NAME | IMAGES IDS

11       funny       570,571,572,573,574,575,576,577,578,579,580,581,58...
12       dog         649,650,651,652,653,654,655,656,657,658,659,660,66...
13       cat         844,845,846,847,848,849,850,851,852,853,854,855,85...

我需要将所有旧图像 ID/相关标签添加到新表中

4

2 回答 2

1

如果我没记错的话,您想将旧表记录添加到新表中。

因此,您需要做的就是查询旧表并分解 imgid 并遍历分解后的字符串并将其添加到新表中。

示例代码。

<?php

    $query = mysqli_query("SELECT * FROM oldTable")or die(mysqli_error());
    while($row = mysql_fetch_assoc($query))
    {
        $ids = explode(",",$row['imageID']);

        foreach($ids as $newImgId)
        {
            $Insert_query = mysqli_query("INSERT INTO NEWTABLE ('tagname','img_id') VALUES ('".$row['tag']."','".$newImgId."')")or die(mysqli_error());
        }
    }
于 2013-01-25T03:57:18.377 回答
1

您必须获取每一行并循环并插入,如下所示。

  1. 从数据库中获取第一行。

  2. 使用explode将图像 ID 分解为数组。

  3. 循环遍历展开的数组并使用相应的标签名称插入它们。

    foreach()

    {

    //这个循环处理记录

    //循环直到记录结束

    //在这里爆炸

    foreach()

    {

    //循环并插入爆炸数组到数据库

    }

    }

于 2013-01-25T03:57:34.233 回答