将数组插入单独的行 MySQL
INSERT array into separate rows MySQL
我有一个动态矩阵盒,用户可以在其中无限使用药物,数据是这样得到的:
[addindividuals] => [{"Drug":"Calpol","Strength":"100mg","Form":"Liquid","Quantity":"1"},{"Drug":"Paracetamol","Strength":"200mg","Form":"Tablet","Quantity":"16"}]
我想要实现的是将每一行插入一个新行 (MySQL) 并插入到它们的相关列中,如下所示:
列: |药物 |实力 |表格 |数量
第 1 行 |卡尔波尔 | 100 毫克 |液体 | 1
第 2 行 |扑热息痛 | 200 毫克 |平板电脑 | 16
我猜它使用的是分解函数>(我是新手)然后 sql 插入字符串?
如果您将值作为 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;
我有一个动态矩阵盒,用户可以在其中无限使用药物,数据是这样得到的:
[addindividuals] => [{"Drug":"Calpol","Strength":"100mg","Form":"Liquid","Quantity":"1"},{"Drug":"Paracetamol","Strength":"200mg","Form":"Tablet","Quantity":"16"}]
我想要实现的是将每一行插入一个新行 (MySQL) 并插入到它们的相关列中,如下所示:
列: |药物 |实力 |表格 |数量
第 1 行 |卡尔波尔 | 100 毫克 |液体 | 1
第 2 行 |扑热息痛 | 200 毫克 |平板电脑 | 16
我猜它使用的是分解函数>(我是新手)然后 sql 插入字符串?
如果您将值作为 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;