-2

我有一个动态矩阵框,用户可以无限量使用药物,数据是这样来的:

 [addindividuals] => [{"Drug":"Calpol","Strength":"100mg","Form":"Liquid","Quantity":"1"},{"Drug":"Paracetamol","Strength":"200mg","Form":"Tablet","Quantity":"16"}]

我想要实现的是将每一行插入一个新行(MySQL)并插入到它们的相关列中,如下所示:

栏目:| 药物 | 实力 | 表格 | 数量

第 1 行 | 卡尔波尔 | 100mg | 液体 | 1

第 2 行 |扑热息痛 | 200毫克| 平板电脑 | 16

我猜它使用爆炸函数>(我是新手)然后用 sql 插入字符串?

4

1 回答 1

1

如果您将值作为 json 字符串集合,首先您需要分解字符串,然后使用 for each 循环遍历每个字符串,然后使用另一个 for each 来制作单行。请提供以下代码,这可能会对您有所帮助。

$addindividuals = '{"Drug":"Calpol","Strength":"100mg","Form":"Liquid","Quantity":"1"},{"Drug":"Paracetamol","Strength":"200mg","Form":"Tablet","Quantity":"16"}';
$exploded_array = explode('},',$addindividuals);
$final_query = "INSERT INTO `table_name` (`Drug`,`Strength`,`Form`,`Quantity`) VALUES ";
$exploded_array[0] = $exploded_array[0].'}';
foreach($exploded_array as $exploded_element)
{
$single_row = '(';
$json_decode = json_decode($exploded_element,true);
foreach($json_decode as $key => $value)
{
    $single_row .= "'$value',";
}
$single_row = substr($single_row,0,-1);
$single_row .= '),';
$final_query .= $single_row;
}
$final_query = substr($final_query,0,-1);
echo $final_query;
于 2016-03-03T13:10:51.640 回答