我对 PHP 真的很陌生,正在努力学习它。 现在我正在解决一个更困难的任务...
我有一些重复字段的表单(并非所有字段都是可重复的)。 我从整个表单中得到这个输出:
JSON:
{
"material": [
{
"reference": "11",
"mnozstvi": "25",
"level": "1"
},
{
"reference": "56",
"mnozstvi": "88",
"level": "2"
},
{
"reference": "44",
"mnozstvi": "123",
"level": "1"
}
],
"pozice": "581",
"poznamka": "Test",
"cas": "1619965495",
"skladnik": "7"
}
解码为数组:
Array
(
[material] => Array
(
[0] => Array
(
[reference] => 11
[mnozstvi] => 25
[level] => 1
)
[1] => Array
(
[reference] => 56
[mnozstvi] => 88
[level] => 2
)
[2] => Array
(
[reference] => 44
[mnozstvi] => 123
[level] => 1
)
)
[pozice] => 581
[poznamka] => Test
[cas] => 1619965495
[skladnik] => 7
)
我想做的就是将这些值插入到 MySQL 数据库中的一个表中。 每种材料占一行,并将其他字段值(pozice、poznamka、cas、skladnik)添加到每一行。
所以每一行都是:reference、mnozstvi、level、pozice、poznamka、cas、skladnik
我知道这对你来说可能很容易,但我完全迷失了......
非常感谢您的回答和帮助。
答案 0 :(得分:0)
您可以使用 foreach 循环作为材料键,然后使用插入,如下所示:
$collection = array
(
[material] => Array
(
[0] => Array
(
[reference] => 11
[mnozstvi] => 25
[level] => 1
)
[1] => Array
(
[reference] => 56
[mnozstvi] => 88
[level] => 2
)
[2] => Array
(
[reference] => 44
[mnozstvi] => 123
[level] => 1
)
)
[pozice] => 581
[poznamka] => Test
[cas] => 1619965495
[skladnik] => 7
);
foreach ($collection['material'] as $materialData) {
//here you can use variables as below.
echo $materialData['reference'];
echo $materialData['mnozstvi'];
echo $materialData['level'];
echo $collection['pozice'];
echo $collection['poznamka'];
echo $collection['cas'];
echo $collection['skladnik'];
// you can use variables as above shared syntax and can write your sql insertion code.
}