【发布时间】:2016-06-18 22:31:50
【问题描述】:
首先,我将解释我最终想要发生的事情,所以如果你不能帮助我,你不要浪费你的时间阅读所有这些:)
我正在创建一个 API,它会根据用户提交的症状输出用户可能患有的疾病。
我希望用户输入一些内容,这会作为“症状=... 比如:.../nameofmyapi/data?symptoms=headache+dizzyness。我从 GET 参数中检索数据,但我完全不知道如何输出疾病名称。
我的数据库如下所示:
-
疾病
- illnessId (int(11), AUTO_INCREMENT)
- 病名(varchar(255))
-
症状
- symptomId (int(11), AUTO_INCREMENT)
- 症状名称 (varchar(255))
-
疾病症状
- illnessId(来自疾病表)
- symptomId(来自症状表)
此数据库设计确保您不会在 1 行中获得多个值并且没有相同的值但是就像我说的那样,我不知道如何根据其他值“搜索”或“过滤”疾病桌子。更不用说要检查多种症状了...似乎是不可能的!
我有这个查询,所以当用户没有输入任何内容时我可以检索所有内容:
"SELECT illness.illnessId, illness.illnessName, symptom.symptomName FROM illness_symptom
JOIN illness
ON illness.illnessId = illness_symptom.illnessId
JOIN symptom
ON symptom.symptomId = illness_symptom.symptomId";
这给了我这个: image
就像我说的,我只想在 url 看起来像这样时输出“Whiplash”:/nameofmyapi/data?symptoms=dizzyness+headache
我们将不胜感激!
【问题讨论】: