也许有一种更简单的方法可以做到这一点,但我需要项目从下拉菜单中选择患者。然后,当下拉菜单中有一个值时,文本字段需要从该下拉菜单(数组)中获取NHS编号,以便可以将其发布到其他位置。
<select name="patient" class="textbox" required>
<option value="">Select a patient</option>
<?php
include 'dbconnection.php';
$sql = "SELECT * FROM clients ORDER by firstname ASC";
$result = mysqli_query($conn, $sql);
$result = $conn-> query($sql);
while($row=mysqli_fetch_array($result))
{
?>
<option value="<?php echo $row["firstname"]." ".$row["lastname"]; ?>">
<?php echo $row["firstname"]." ".$row["lastname"] .", ".$row["addressl1"].", ".$row["addressl2"].", ".$row["county"].", ".$row["postcode"].", ".$row["nhsnum"]; ?></option>
<?php
$nhs = $row['nhsnum'];
}
?>
</select>
<?php
$sql = "SELECT * FROM clients WHERE nhsnum = $nhs ";
$result = mysqli_query($conn, $sql);
$result = $conn-> query($sql);
while($row=mysqli_fetch_array($result))
{
?>
<input type="text" placeholder="NHS number" readonly value=" <?php echo $row["nhsnum"]; ?>">
<?php
}
?>
正如您所看到的,我创建了$ nhs的虚拟变量,但是它是一个静态变量,并且在下拉列表中没有根据用户选择进行更改。任何人都可以解释我如何将两者合并在一起。
答案 0 :(得分:0)
我认为你应该在while循环之外声明$ nhs
答案 1 :(得分:0)
使用已建议的AJAX或表单提交按钮。您的第二个查询应该是您的AJAX或提交的表单所在的位置。如果使用get或post方法,请使用$ _GET或$ _POST来截取选项值。将该值分配给$ nhs,然后按原样使用。
将选项值设置为您想要的$ nhs值,而不是人名。使用$ _POST
的示例if(isset($_POST['patient'])){
$nhs=$_POST['patient'];
}else{
// whatever code you want to handle a non-submitted value.
}
添加其他代码以防止SQL注入。