Php 来自数据库驱动表单的多个提交按钮

Php 来自数据库驱动表单的多个提交按钮,php,mysql,forms,dynamic,submit,Php,Mysql,Forms,Dynamic,Submit,好的,各位 我正在尝试显示数据库表的内容以及一个删除或按钮。“删除”按钮将从数据库中删除所述项目。该按钮将把该项推入另一个数据库,然后通过将变量PUSH设置为true来标记所述项 我有连接和while循环回显数据库中的每个项目,还有一个REMOVE按钮和一个PUSH按钮。回声如下所示: echo '<form method='post' name='$ID' action='$_PHP_SELF'> <tr> <td width='5%' a

好的,各位

我正在尝试显示数据库表的内容以及一个删除或按钮。“删除”按钮将从数据库中删除所述项目。该按钮将把该项推入另一个数据库,然后通过将变量PUSH设置为true来标记所述项

我有连接和while循环回显数据库中的每个项目,还有一个REMOVE按钮和一个PUSH按钮。回声如下所示:

echo '<form method='post' name='$ID' action='$_PHP_SELF'>
    <tr>
        <td width='5%' align='center'>$ID</td>
        <td width='75%'>$content</td>
        <td width='10%' align='center'><input type='submit' name='remove' id='remove' value='REMOVE'></td>
        <td width='10%' align='center'><input type='submit' name='push' id='push' value='PUSH'></td>
    </tr>
</form>';
但这两个变量都只返回最后一个$ID变量


提前感谢。

让每个相关行都有自己的表单,有自己的两个按钮。他们都可以提交到同一页。此外,将ID保留在隐藏字段中(并验证服务器端),而不是作为表单名称。

使用两个按钮将每个相关行设置为自己的表单。他们都可以提交到同一页。另外,将ID保留在隐藏字段中(并验证服务器端),而不是作为表单名称。

一个简单的解决方案是将HTML输出更改为两个表单,每个表单一个提交。您可以保持PHP完全相同

编辑:为了动态获取所按下按钮的ID,然后添加一个带有ID的隐藏数据字段,如下所示:

<tr>
    <td width='5%' align='center'>$ID</td>
    <td width='75%'>$content</td>
    <td width='10%' align='center'>
        <form method='post' action='$_PHP_SELF'>
            <input type='hidden' value='$ID' name='id'>
            <input type='submit' name='remove' id='remove' value='REMOVE'>
            </form>
    </td>
    <td width='10%' align='center'>
        <form method='post' name='$ID' action='$_PHP_SELF'>
            <input type='hidden' value='$ID' name='id'>
            <input type='submit' name='push' id='push' value='PUSH'>
        </form>
    </td>
</tr>

一个简单的解决方案是将HTML输出更改为两个表单,每个表单一个提交。您可以保持PHP完全相同

编辑:为了动态获取所按下按钮的ID,然后添加一个带有ID的隐藏数据字段,如下所示:

<tr>
    <td width='5%' align='center'>$ID</td>
    <td width='75%'>$content</td>
    <td width='10%' align='center'>
        <form method='post' action='$_PHP_SELF'>
            <input type='hidden' value='$ID' name='id'>
            <input type='submit' name='remove' id='remove' value='REMOVE'>
            </form>
    </td>
    <td width='10%' align='center'>
        <form method='post' name='$ID' action='$_PHP_SELF'>
            <input type='hidden' value='$ID' name='id'>
            <input type='submit' name='push' id='push' value='PUSH'>
        </form>
    </td>
</tr>

按照本教程创建checkbox系统和php处理器。

你可以用两种方法中的一种。如果您希望用户能够通过一个链接一次删除多个项目,您可以这样做

让用户通过复选框选择所需的行数。然后点击“删除”或“按下”按钮,将其发送到另一个包含每行进程的页面


另一种方法是在每一行旁边都有一个移除和按下按钮,一次移除或按下一行。我建议采用第一种方法。如果您遵循该指南,它将非常简单。

遵循本教程创建checkbox系统和php处理器。

你可以用两种方法中的一种。如果您希望用户能够通过一个链接一次删除多个项目,您可以这样做

让用户通过复选框选择所需的行数。然后点击“删除”或“按下”按钮,将其发送到另一个包含每行进程的页面


另一种方法是在每一行旁边都有一个移除和按下按钮,一次移除或按下一行。我建议采用第一种方法。如果您遵循该指南,它将非常简单。

这一切都很好,但是我如何动态编写$\u POST['push']或$\u POST['remove']函数?我已经编辑了这篇文章,添加了如何动态标识引用的ID的描述。我现在遇到了另一个问题。如何确定将哪些$content推送到新数据库?我建议,只需使用您获得的ID从当前数据库检索信息,然后将其提交到新数据库。这一切都很好,但如何编写$\u POST['push']或$\u POST['remove']动态功能?我编辑了这篇文章,添加了如何动态识别引用ID的描述。我现在遇到了另一个问题。如何确定我将哪些$content推送到新数据库?我建议,只需使用您获得的ID从当前数据库检索信息,然后将其提交到新数据库。上面的by echo语句与您的建议有什么区别。我认为我已经编写的echo语句使每一行都有自己的形式……首先,我建议使用$ID作为隐藏字段。这将在POST请求中发回。另外,我不确定你的整个表格是否在每一行都重复过。上面的回音陈述和你的建议有什么区别。我认为我已经编写的echo语句使每一行都有自己的形式……首先,我建议使用$ID作为隐藏字段。这将在POST请求中发回。而且,我不确定你的整个表格是否在每一行重复。
$ID=mysql_real_escape_string($_POST['id']); //Encapsulate in this function to prevent bad IDs causing SQL injections.
if(isset($_POST['push'])){
 echo "PUSH ".$ID." TO DATABASE";
}

if(isset($_POST['remove'])){
 echo "REMOVE ".$ID." FROM DATABASE";
}