我正在製作與PHP和MySQL中的患者診斷相關的電子醫療系統。我在數據庫中進行下面的表格與以下記錄:MySQL中的疾病 - 症狀關係
Illness(illness_id(PK), illness_code,illness_name)
Symptom(symptom_id, illness_id(FK),symptom_name).
現在,我想要做的是,我會寫在搜索欄中症狀的名稱,然後點擊按鈕後,相關的疾病應該輸出。你能告訴我SQL查詢會輸出適當的疾病嗎?
我正在製作與PHP和MySQL中的患者診斷相關的電子醫療系統。我在數據庫中進行下面的表格與以下記錄:MySQL中的疾病 - 症狀關係
Illness(illness_id(PK), illness_code,illness_name)
Symptom(symptom_id, illness_id(FK),symptom_name).
現在,我想要做的是,我會寫在搜索欄中症狀的名稱,然後點擊按鈕後,相關的疾病應該輸出。你能告訴我SQL查詢會輸出適當的疾病嗎?
請試試這個。當您檢索搜索欄爲變量的症狀值,說symptom_name_provided_in_search_bar,您可以使用該值在下面的查詢
select illness_name
from illness a, symptom b
where a.illness_id = b.illness_id
and b.symptom_name = :symptom_name_provided_in_search_bar
對於這個工作,你應該只創建一個表疾病2行: illnessName和疾病症狀。注意:這隻有在症狀完全按照數據庫中寫入的情況下才有效。
<?php
$host = 'yourmysqlhost';
$user = 'yourmysqluser';
$pass = 'yourmysqlpassword';
$db = 'yourmysqldatabase';
$symptom = $_POST['symptom'];
$connect = mysqli_connect($host, $user, $pass, $db);
$sanitizedSymptom = mysqli_real_escape_string($connect, $symptom);
$query = mysqli_query($connect, "SELECT * FROM illness WHERE illnessSymptom = '".$sanitizedSymptom."'");
if(mysqli_num_rows($query) == 0)
{
echo '<p>No results...</p>';
}
else
{
while($row = mysqli_fetch_assoc($query))
{
echo '<h1>'.$row['illnessName'].'</h1>';
echo '<p>Symptom: '.$row['illnessSymptom'].'</p>';
echo '<br>';
}
}
?>
要查找的症狀近似與數據庫中的症狀,查詢應該是這樣的:
$query = mysqli_query($connect, "SELECT * FROM illness WHERE illnessSymptom LIKE '%".$sanitizedSymptom."%'");
你有什麼迄今所做? –
請包括您在您的問題中嘗試過的內容。 – Epodax
@PradnyaBolli:請僅使用內聯代碼格式(反向)來格式化代碼或控制檯I/O。像MySQL這樣的技術只是專有名詞,所以大寫字母就足夠了。 – halfer