我目前非常坚持这一点。我有一个表生成新行,因为它循环通过带有while循环的数据表。在while循环中,我有一些提交按钮,可以在每个新行上重新创建。我的目标是能够单独控制每一行,但我不知道如何实现这一目标。到目前为止,我已经使用隐藏来输入" id"的主键。搜索到这个网站后,我找到了一个有用的答案,向我展示了如何将隐藏的id作为get变量发布并运行我的查询。它工作正常,并更新我需要它的东西,但它需要2页刷新才能做到这一点。此外,我不得不删除提交按钮并替换为样式的锚标记,以将get变量附加到网址onclick。无论如何我可以离开我的按钮,如果没有,只用一页刷新而不是两次完成查询更新?我只更新数据表中的一个字段。我试着调查ajax,但那是我的头脑。我对任何解决方案持开放态度。
<?php
$con = mysql_connect("localhost","maximus1127","");
$db = mysql_select_db("patients",$con);
$get=mysql_query("SELECT patientName, brand, id FROM orders WHERE onOrder=1 and dispensed = 0");
$get2=mysql_query("SELECT patientName, brand FROM orders WHERE onOrder=0 and dispensed = 0");
if(isset($_GET['deleteId'])) {
include ("connection.php");
$sql = "UPDATE `orders` SET dispensed = 2 WHERE id = '".($_GET['deleteId'])."' LIMIT 1";
mysqli_query($link, $sql);
}
?>
<?php include ("header.php"); ?>
<table class="table">
<thead class="thead-inverse">
<h3>On Order</h3>
<tr>
<th>Patient Name</th>
<th>Brand</th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<td scope="row"><?php while ($row = mysql_fetch_array($get)) {
//output a row here
echo "<form> <tr><td>".($row['patientName'])."</td> <td>".($row['brand'])."</td><td class='hide'>".($row['id'])."</td><td><div class='btn-group-sm' role='group' aria-label='Basic example'>
<a href='?deleteId=$row[id]' class='btn btn-danger' onclick= 'pageRefresh();'>Cancel</a>
<input type='submit' class='btn btn-primary' name = 'view' value='View'>
<input type='submit' class='btn btn-success' name = 'received' value='Received'>
</div> </td></form>" ;
}?>
</td>
</tr>
</td>
</tr>
</tbody>
</table>
<table class="table">
<thead class="thead-default">
<h3>Received</h3>
<tr>
<th>Patient Name</th>
<th>Brand</th>
<th>Notified</th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td scope="row"><?php while ($row = mysql_fetch_array($get2)) {
//output a row here
echo "<form><tr><td>".($row['patientName'])."</td><td>".($row['brand'])."</td><td></td>
<td> <input type='submit' class=' btn btn-success' value='Dispense' /></td></form>";
}?>
</tr>
</tbody>
</table>
<?php include("footer.php"); ?>
答案 0 :(得分:0)
首先,您应该修复HTML。您向我们展示的内容不是有效的HTML。您不能在<tr>
内部<td>
...此外,您不需要为每一行创建一个表单,您可以轻松地为所有按钮创建一个表单。表单会附加用于提交它的按钮的值,您可以使用它来为您带来优势。
<tbody>
<?php
while ($row = mysql_fetch_array($get2)) {
//output a row here
echo "<tr><td>".($row['patientName'])."</td><td>".($row['brand'])."</td><td></td>";
echo "<td><button type='submit' class='btn btn-success' name='dispense_id' value='".$row['id']."' />Dispense</button></td>";
}
?>
</tbody>