我有一个从PostgreSQL通过PHP生成的表。
用户需要选择删除行或更新行。
所以我成功实现了一个使用隐藏元素的删除按钮,将删除的密钥信息传递给我的delete.php
现在我正在尝试添加一个更新按钮,它会将php发送到我的update.php而不是我的delete.php。
但是,当我打开表单时,我会告诉它在提交时将数据发送到何处。
我的问题是,有没有一种方法可以让两个按钮都可用,并且根据按下哪个按钮,表单将数据发布到相应的php- delete.php vs update.php?也许输入按钮的某些属性我无法想到可以指向POST的位置而不是将其作为表单属性?
以下是我的例子:
echo '<form action="delete.php" method="POST">';
echo '<tr>';
echo '<td class="even">' . $row['id'] . '</td>';
echo '<td class="odd">' . $row['name'] . '</td>';
echo '<td class="even">' . $row['countrycode'] . '</td>';
echo '<td class="odd">' . $row['district'] . '</td>';
echo '<td class="even">' . $row['population'] . '</td>';
echo '<input type="hidden" name="todelete" value="'.$row['countrycode'].'" />';
echo '<input type="hidden" name="cityname" value='.$row['name'].'" />';
echo '<input type="hidden" name="tablename" value="'.$_POST["search-type"].'" />';
echo '<td> <input class="odd" type="submit" name="updateBtn" value="Update?" /></td>';
echo '<td> <input class="even" type="submit" name="deleteBtn" value="Delete?" /></td>';
echo '</tr>';
echo '</form>';
这是为表的每一行生成的,因此每个表单都是唯一的,只发送该数据。
如果您对如何实施这两个按钮有任何想法,请告诉我们!
答案 0 :(得分:4)
最简单的方法是将SINGLE脚本作为您的操作,然后使用基本
<?php
if (isset($_POST['deleteBtn'])) {
... do delete stuff
} else if (isset($_POST['updateBtn'])) {
... update stuff here ...
}
否则你会遇到一些javascript动态更改动作目标。