我需要通过在组合框中选择他的名字来获取患者的诊断疾病列表,我该怎么办?这是我的代码。
<select name="pname" class="textfields" id="model" style="width:180px;" onchange="getVal1();">
<option id="0" >--Select Patient Name--</option>
<?php
$con = mysqli_connect("localhost","root","","dbnpatient");
if (mysqli_connect_errno()){
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$pnum = $_GET['pnum'];
$query = mysqli_query($con, "SELECT * FROM tblnpatient");
while($row = mysqli_fetch_array($query)){
$pnum = $row['pnum'];
$pname = $row['pname'];
$addr = $row['addr'];
$complaints = $row['complaints'];
?>
<option id="<?php echo $pnum; ?>" data-pnum="<?php echo $pnum; ?>" data-addr="<?php echo $addr; ?>" data-complaints="<?php echo $complaints; ?>" value="<?php echo $pname; ?>"><?php echo $pname; ?></option>
<?php } ?>
这是我过滤表格的代码:我在这段代码中遇到了麻烦,因为当我选择pname时,表格中会出现nothings
<?php
$con = mysqli_connect("localhost","root","","dbnpatient");
if (mysqli_connect_errno()){
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$pname = $_GET['pname'];
$result = mysqli_query($con,"SELECT * FROM tbldiagnosis WHERE pname='$pname'");
while($row = mysqli_fetch_array($result)) {
echo '<tr class="record">';
echo '<td>'.$row['diagnosis'].'</td>';
}
?>
答案 0 :(得分:0)
这可以使用ajax轻松完成。在更改select时,您可以触发一个jQuery调用,将该框的选定值提交到您的PHP页面,该页面具有MySQL来过滤表格。返回的结果将显示在指定区域的页面上。
主页:
<select name="pname">
<option value="pname-value">pname-value</option>
</select><br>
<div id="query_results"></div>
<script type="text/javascript">
$(document).ready(function() {
$('select[name="pname"]).on('change',function() {
var curPname=$(this).val();
$.ajax({
type:'GET',
url:'urltotable.php?pname='+curPname,
success:function(data) {
$("div#query_results").html(data);
}
});
});
});
</script>
这是一个简化的ajax调用,它将从名为&#34; pname&#34;的选择框中获取值。它会将该值发送给&#34; url&#34; ajax调用中的变量通过&#34; GET&#34;。然后,此页面可以通过GET获取该变量,并使用它来获取查询结果。成功完成后,它将在我们添加的div中显示结果,ID为&#34; query_results&#34;。
您也可以轻松自定义选择以使用上面列出的当前PHP。
现在为&#34; urltotable.php&#34;如上所述,您可以使用上面的表查询,但只需确保向其添加GET行,以便脚本可以访问您的pname变量:
$pname=$_GET["pname"];
有关完整功能列表的Ajax的更多信息,请click here to read about Ajax in the jQuery documentation.