我有以下可以动态添加的数组(多个类别和属于该类别的多个问题),但是我正在努力将其添加到数据库中。
这是数组如何显示的示例:
Array
(
[title] => lijsttitle
[Category name] => Array
(
[0] => Question 1
[1] => Question 2
)
[Category name 2] => Array
(
[0] => Question1
)
)
我删除了title
using array_shift
我的代码,如下所示:
$arr = $_POST['lijst'];
$companyid = $_POST['companyid'];
$store = [];
// pull off first arr element
$title = array_shift($arr);
// save title to store
$store['title'] = $title['name'];
$currCat = '';
foreach($arr as $a) {
$val = $a['value'];
// handle category
if($a['name'] == 'category[]') {
// save cat name
$currCat = $val;
// init questions array
$store[$currCat] = [];
}
else {
// add question to question array
$store[$currCat][] = $val;
}
}
我首先在template
表中插入问题列表的标题,但是我还有另外两个表,一个用于我的问题,另一个用于我的类别。
// Insert template title and companyid
$inserttemplate = '
INSERT INTO templates (title, id_company) VALUES ("'.$conn->real_escape_string($title["value"]).'","'.$conn->real_escape_string($companyid).'")';
$inserttemplatecon = $conn->query($inserttemplate);
我知道我可以将使用其ID的用户与最后插入的ID连接起来。但是,如何将所有类别名称插入category
表中,而对于questions
表中的问题也是如此?
我不确定如何从我的foreach循环中获取这些值。
因此,首先插入一个类别名称,然后在插入所有属于该类别的问题之后立即插入category_id
作为最后插入的ID(所插入类别的ID)。
我尝试打印/填充多个变量,但不确定如何获得所需的结果。