【发布时间】:2023-03-14 11:40:01
【问题描述】:
我是编码新手,但我似乎无法理解这一点。非常感谢您提供一点帮助或提示。
基本上我想要一个带有问卷调查的数组,其中包含 id、name 和一个问题子数组。问题也由 id 和 name 组成。(1 Questionnaire 可以有多个问题) 我正在寻找这样的东西:
[{Questionnaires{id:x, name:x, questions:{id:x, name:x},{id:x2, name:x2}}]
这是我的查询
SELECT questionnaires.id QuestionnaireId, questionnaires.title QuestionnaireTitle, questions.id QuestionId, questions.text Question
FROM questionnaires INNER JOIN questionnaireshasquestions qa ON qa.idQuestionnaire = questionnaires.id
INNER JOIN questions ON questions.id = qa.idQuestion
还有我的 PHP 代码:
while ($row = $conn->fetch()) {
if (!isset($data['questionnaires'][$row['QuestionnaireId']])) {
$data['questionnaires'][] = array(
'id' => $row['QuestionnaireId'],
'title' => $row['QuestionnaireTitle'],
'questions' => array(
'id' => $row['QuestionId'],
'text' => $row['Question']
)
);
} else {
$data['questionnaires'][$row['QuestionnaireId']][] = array(
'questions' => array(
'id' => $row['QuestionId'],
'text' => $row['Question']
)
);
}
我得到的 JSON 数组格式错误/不正确:
{"questionnaires":[{"id":"1","title":"Are you hungry?","questions":{"id":"1","text":"How is your passion? "}},{"id":"1","title":"Are you hungry?","questions":{"id":"2","text":"Do you drink?"}},{"id":"2","title":"How are you feeling?","questions":{"id":"1","text":"How is your passion? "},"0":{"questions":{"id":"3","text":"Do you like fish?"}}},{"id":"5","title":"Is testing working?","questions":{"id":"4","text":"How is the testing?"}}]
如您所见,它对...内的每个问题重复相同的问卷调查
我希望我能很好地解释我在这里要做的事情:)
【问题讨论】:
-
什么问题,什么不工作?
-
我更新了问题。 JSON数组的格式不是我想要的……怎么才能得到我上面描述的格式呢?
-
“类似这样的东西”——我不明白这应该是什么。它既不是 PHP 数组也不是 JSON 数组。首先,问问自己数据结构的 PHP 表示应该是什么。