我在PHP中有这样的数组返回了查询结果集的json。
[
{
"ailment_id": "1",
"ailment_name": "Food Poisoning",
"symptom_name": "Fever",
"symptom_id": "1",
"stype_id": "1"
},
{
"ailment_id": "1",
"ailment_name": "Food Poisoning",
"symptom_name": "Nausea ",
"symptom_id": "4",
"stype_id": "4"
},
{
"ailment_id": "1",
"ailment_name": "Food Poisoning",
"symptom_name": "Vomiting",
"symptom_id": "5",
"stype_id": "4"
},
{
"ailment_id": "2",
"ailment_name": "Dengue",
"symptom_name": "Fever",
"symptom_id": "1",
"stype_id": "1"
},
{
"ailment_id": "2",
"ailment_name": "Dengue",
"symptom_name": "Headache",
"symptom_id": "3",
"stype_id": "2"
},
{
"ailment_id": "2",
"ailment_name": "Dengue",
"symptom_name": "Vomiting",
"symptom_id": "5",
"stype_id": "4"
},
{
"ailment_id": "2",
"ailment_name": "Dengue",
"symptom_name": "Joint Pain",
"symptom_id": "7",
"stype_id": "5"
},
{
"ailment_id": "3",
"ailment_name": "Flu",
"symptom_name": "Fever",
"symptom_id": "1",
"stype_id": "1"
},
{
"ailment_id": "3",
"ailment_name": "Flu",
"symptom_name": "Headache",
"symptom_id": "3",
"stype_id": "2"
},
{
"ailment_id": "3",
"ailment_name": "Flu",
"symptom_name": "Chronic Cough",
"symptom_id": "2",
"stype_id": "1"
},
{
"ailment_id": "4",
"ailment_name": "Common Cold",
"symptom_name": "Sore Throat",
"symptom_id": "6",
"stype_id": "1"
}
]
我想将它们分组到这个中,其中一个id作为父键,其值为name。重复的父键将级联,只需将子项分配到同一父项。 我不确定格式化,我想你可以理解:
{
"1": {
"stype" : "1",
"child" : { "1": {
"symptom_id": "1",
"symptom_name": "Fever",
"child" : {
"1": {
"ailment_id": "1",
"ailment_name": "Food Poisoning"
},
"2": {
"ailment_id": "2",
"ailment_name": "Dengue"
},
"3": {
"ailment_id": "3",
"ailment_name": "Flu"
}
}
},
"4": {
"symptom_id": "6",
"symptom_name": "Sore Throat",
"child" : {
"4": {
"ailment_id": "4",
"ailment_name": "Common Cold"
}
}
}
},
"4" {
"stype" : "4",
"child" : { "4" : {
"symptom_name": "Nausea",
"symptom_id": "4",
"child" : {
"ailment_id": "1",
"ailment_name": "Food Poisoning",
}
}
}
},
"2" {
"stype" : "2",
"child" : { "3" : {
"symptom_name": "Headache",
"symptom_id": "3",
"child" : {
"ailment_id": "2",
"ailment_name": "Dengue",
}
}
}
}, .... and so on}
无论如何我可以在PHP / Jquery中执行此操作吗?我将使用最终数组将它们转换为3个多选框的多选链。有关于此的任何提示吗?
编辑:我试过了什么?像这样的东西。while($row = mysqli_fetch_assoc($result))
{
$sid = $row["symptom_id"];
$sname = $row["symptom_name"];
$stype = $row["stype_id"];
$aname = $row["ailment_name"];
$aid = $row["ailment_id"];
?>
var selectValues2 = { "<?php echo $stype; ?>" :
{
"<?php echo $sname ?>" :
[
"<?php echo $aid ?>",
"<?php echo $aname; ?>"
]
}
};
<?php
}
?>
不能正常运作..