gpt4 book ai didi

php - 如何将插入数组值存储为单独的记录

转载 作者:行者123 更新时间:2023-11-29 03:30:34 25 4
gpt4 key购买 nike

我在 mySql 表中有一个字段,即 Expanse 和另一个名为 Amount 的字段。 enter image description here

现在我想在';'的基础上打破 expanse 和 amount 字段中的字符串并将每个存储为单独的记录,以便其他字段(即 id 和 name)中的数据保持不变。这样 enter image description here

我正在从原始表中获取记录,并希望将此所需结果存储在临时表中。从原始表中获取记录时,我正在根据“;”分解扩展和数量字符串。

 $query="SELECT * FROM table";
$result=mysql_query($query);
while ($row=mysql_fetch_array($result))
{
$newid=$row["id"];
$temp=explode(';',$row["expanse"]);
$new=array_unique($temp);
//what to do after this ?


$temp2=explode(';',$row["amount"]);
$new2=array_unique($temp2);
//what to do after this ?
$query2="INSERT INTO table2 (id, $expanse,$amount) VALUES ('$newid','$new',$new2);
$result2=mysql_query($query2);
}

//after this i'll be inserting values in these variables into new temporary table that is having same structure so that my orignal data remain unchanged and new data as my need inserted into temporary table.

希望您能理解我的问题。

最佳答案

您需要迭代抛出每条记录并再次迭代抛出每个 ; 分隔值。每条记录的 idname 都相同,但 expanseamount 会有所不同。插入查询的数量取决于 ; 分隔值的数量

 $query="SELECT * FROM table";
$result=mysql_query($query);

while ($row=mysql_fetch_array($result))
{

$id = $row["id"]; // duplicating for each
$name = $row['name']; // duplicating for each
$expance_array = explode(';',$row["expanse"]);
$amount_array = explode(';',$row["amount"]);

/* count of expance_array and amount_array will be same always as per your idea */

for($i=0;$i<count($expance_array);++$i) {

$expanse = $expance_array[$i];
$amount = $amount_array[$i];

/* now insert $id $name $expanse $amount into the table*/
$query2="INSERT INTO table2 (id, name , expanse, amount) VALUES ($id,'$name','$expanse' , $amount");
$result2=mysql_query($query2);

}

}

关于php - 如何将插入数组值存储为单独的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31286428/

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