【问题标题】:Process table data using multiple buttons使用多个按钮处理表格数据
【发布时间】:2017-09-10 00:25:57
【问题描述】:

我编写了一个 php 代码来将数据显示为表格,使用来自 MySQL 数据库的值。我在每行末尾添加 2 个按钮,例如“批准”和“拒绝”。是这样的:

<?php
$con2=mysqli_connect ("localhost","root","","leavemanagement");
$res=mysqli_query($con2,"SELECT c.* , p.* FROM leaveapplication c,emp p WHERE c.empno=p.empno");
while($row=mysqli_fetch_array($res))
{
?>
<tr>
<td><p><?php echo $row['empno']; ?></p></td>
<td><p><?php echo $row['name']; ?></p></td>
<td><p><?php echo $row['dept']; ?></p></td>
<td><p><?php echo $row['startdate']; ?></p></td>
<td><p><?php echo $row['enddate']; ?></p></td>
<td><p><?php echo "<input type='submit' name='action' value='Approve' /><input type='submit' name='action' value='Reject' />" ?></p></td>
</tr>
<?php
}
?>

如何根据每次按钮点击执行操作?例如,如果用户点击第 4 行的“批准”按钮,它应该选择该行的“empno”、“startdate”、“enddate”,这样我就可以传递这些数据来更新数据库。

【问题讨论】:

  • 每行的操作按钮只有一个唯一的名称。每行的批准和拒绝按钮都可以使用相同的名称

标签: php mysql html forms


【解决方案1】:

最简单的方法是将每个 &lt;tr&gt; 块转换为一个表单。

例子:

...
<tr>
   <form ...>
      <td><p><?php echo $row['empno']; ?></p></td>
      <td><p><?php echo $row['name']; ?></p></td>
      <td><p><?php echo $row['dept']; ?></p></td>
      <td><p><?php echo $row['startdate']; ?></p></td>
      <td><p><?php echo $row['enddate']; ?></p></td>
      <td><p><?php echo "<input type='submit' name='action' value='Approve' /><input type='submit' name='action' value='Reject' />" ?></p></td>
   </form>
</tr> 
...

编辑:对于跟踪,您可以使用另一个具有该行相关值的 &lt;input type="hidden" value="..."&gt; 字段

【讨论】:

  • 谢谢!我需要你的建议。这是最新的,我很清楚为什么它返回最后一个值,但仍然没有想到修复 '$i=0; while($row=mysqli_fetch_array($res)) { $testeno=$row['eno']; ?>

  • 有人能告诉我添加辅助信息的推荐方法是什么,例如上面的评论,我需要600多个字符来解释它吗?
【解决方案2】:

向您展示了对表单的不必要使用。使 TR 具有等于行号的 ID。然后使用 AJAX 请求,使用行号和按下的按钮(接受或拒绝)进行所需的更改。我现在正在使用手机,但如果您愿意,我可以稍后添加一个示例。

【讨论】:

  • 不确定他是否达到了学习列表中的 AJAX。这就是为什么提供的解决方案更容易。
  • 简单的事情并不意味着它是最好的解决方案。此外,不管他知道或不知道他学了什么,有些人通过榜样学得最好。
  • 在不同的情况下,我会同意你的观点,但在这种情况下,我需要一个非常基本的答案,仅限于 html 和 php,正如@bogdan_perian 所建议的那样。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-15
相关资源
最近更新 更多