【发布时间】:2021-03-11 16:14:06
【问题描述】:
我试图在 php 上创建一个更新记录按钮,当单击该按钮时,它会将您带到另一个页面,该页面仅显示按下更新按钮的患者的信息。我使用以下内容显示患者信息以及每个患者的更新按钮
patients.php
<?php
require_once 'includes/dbh.inc.php';
$result = mysqli_query($conn,"SELECT * FROM patientProfile ORDER BY patientLastName ASC");
echo "<table class=table table-striped table-sm>
<tr>
<th>Last Name</th>
<th>Name</th>
<th>Gender</th>
<th>Age</th>
<th>Medical Plan</th>
<th>Record Number</th>
<th></th>
</tr>";
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['patientLastName'] . "</td>";
echo "<td>" . $row['patientName'] . "</td>";
echo "<td>" . $row['patientGender'] . "</td>";
echo "<td>" . $row['patientAge'] . "</td>";
echo "<td>" . $row['medicalPlan'] . "</td>";
echo "<td>" . $row['patientID'] . "</td>";
echo "<td>" . '<form method="POST" action="patientEdit.php"><input type="hidden" name="pid" value="$row[patientID]"><input type="submit" name="submit_btn" value="Update"></form>' . "</td>";
echo "</tr>";
}
echo "</table>";
mysqli_close($conn);
?>
当我点击更新按钮时,我希望它带我到另一个页面,其中包含以下代码
patientEdit.php
<?php
require_once 'includes/dbh.inc.php';
if (isset($_POST["submit_btn"])) {
$patient = $_POST["pid"];
$result = mysqli_query($conn,"SELECT * FROM patientProfile WHERE patientID = '$patient' ");
echo "<table class=table table-striped table-sm>
<tr>
<th>Record Number</th>
<th>Last Name</th>
<th>Name</th>
<th>Gender</th>
<th>Age</th>
<th>Email</th>
</tr>";
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['patientID'] . "</td>";
echo "<td>" . $row['patientLastName'] . "</td>";
echo "<td>" . $row['patientName'] . "</td>";
echo "<td>" . $row['patientGender'] . "</td>";
echo "<td>" . $row['patientAge'] . "</td>";
echo "<td>" . '<input type="text" name="changeEmail" value="$row[email]">' . "</td>";
echo "</tr>";
}
echo "</table>";
}
mysqli_close($conn);
?>
我希望在此页面上仅显示我单击更新按钮所在行上的患者的信息,我还有一个文本框,我想在其中显示数据库中的当前电子邮件,所以他们可以在必要时更改它,但不确定这是否是正确的方法。
目前,页面只显示没有信息的表头,我尝试将“”放在患者 ID 上,如下所示,但没有结果。
<input type="hidden" name="pid" value="$row["patientID"]">
还尝试将 patientEdit.php 上的查询更改为
$result = mysqli_query($conn,"SELECT * FROM patientProfile WHERE patientID LIKE '%$patient%'
而且,什么也没发生。
如果需要更多信息,我们将不胜感激。
【问题讨论】:
-
这是您正在执行的实际代码吗?如果是这样, $row[patientID] 将按原样打印,请尝试使用 " instead ',并用引文包装 patientID,或者只需删除引文之外的 $row[patientID] 并将其添加到字符串中,如果它仍然不工作,尝试在此处发布输出 html,因此我无法检查,最后我认为您这样做很辛苦,您在这里不需要表格,您没有发布任何实际数据,而是 id 显示单个行,您可以改用链接。
-
@Bahaa 谢谢,使用你的答案和来自 Ro 的答案,我设法让它工作。
-
@Dharman 感谢您提供的信息,我会查看您的链接并使用它们来改进我的代码。
标签: php html sql forms phpmyadmin