讓你想過濾的任何選項的第二種形式,這部分將具體到您的數據,但你想要的東西像
<form id="search-form">
<label>Name:</label><input type="text" name="patient-name"></input>
</form>
你需要建立一個查詢字符串(和確保你使用GET,因爲這會讓你更容易)。這將需要調整,如果你想使用單選按鈕,或類似的東西,但這裏的總體思路:
function getSearchParameters() {
var form = document.getElementById('search-form');
var inputs = form.getElementsByTagName('input');
var result = '';
var i;
for (i = 0; i < inputs.length; i++) {
if (inputs[i].value) {
result += "&" + inputs[i].name + "=" + inputs[i].value;
}
}
return result;
}
在onclick處理您的病人數據的鏈接,你會調用這個函數及其結果追加到您的查詢字符串:
element.onclick = function() {
var patientDataUrl = '/patients.php?param1=someValue';
patientDataUrl += getQueryParameters();
/* then do your ajax stuff as normal */
};
然後在服務器端,patients.php內簡單地檢查,搜索字段的存在即
if(isset($_GET['patient-name'])) {
$patient_name = mysql_real_escape_string($_GET['patient-name']);
$query = "SELECT * FROM `patients` WHERE `patient_name`='$patient_name';";
} else {
$query = "SELECT * FROM `patients`;";
}
(請確保您的SAN itize字符串!)
我建議你考慮一個JS框架,以使您的生活更容易(例如,jQuery的將允許您通過.serialize()
通過POST發送這個還是很容易把它序列化到一個GET查詢字符串)
你的php/javascript現在看起來像什麼? – ply 2012-07-19 03:16:13
在鏈接到詳細信息的每一行上創建超鏈接。我會使用查詢字符串,而不是發佈。 – 2012-07-19 03:25:03