如何将逗号分隔的值作为单独的记录添加到数据库中


How to add comma separated values to database as separate records?

我有一个名为product_table的表,如下所示,包含两个字段product_id和comp_prod

comp_prod的值将以逗号分隔的值发送,如4,3

但是product_id的值将是通用

我想将逗号分隔的值作为单独的行插入,如下所示,product_id为common。如何使用php和mysql做到这一点?

product_table

+-----+----------+-----------------+    
| id | product_id  |comp_prod      |   
+-----+----------+-----------------+    
|1  |      339     |  4            |   
|2  |      339     |  5            |   
+------------+---------------------+     
$pro=5;
$comp_proSplit= explode(",", $comp_pro);
$cnt=count($comp_proSplit);
for($i=0;$i<$cnt;$i++)
{
mysql_query("insert into product_table(product_id,comp_prod) 
values ($pro, $comp_proSplit[$i])");
}

希望它能帮助

使用分解函数将字符串拆分为数组。

使用分解函数

正如前面提到的,然后循环它。下面是一个例子。这可能是一个错误,但想法是存在的。

foreach($arrayOfEachRowInCSV as $array){
   $product_id = $array['product_id'];
   $array_comp_prod = explode(",", $array['comp_prod_comma_seperated']);
   foreach($array_comp_prod as $comp_prod){
        $sql = "INSERT INTO table_name (product_id, comp_prod) VALUES('{$product_id}','{$comp_prod}')";
   }
}

我希望这能帮助


$sql = array;
$yourArrFromCsv = explode(",", $yourCSV);
//then insert to db
foreach( $yourArrFromCsv as $row ) {
    $sql[] = '('.$compProdId.', '.$row.')';
}
mysql_query('INSERT INTO table (comp_prod, product_id) VALUES '.implode(',', $sql));

你是说类似的东西吗