0

使用 php 我正在从 PostgreSQL 系统生成一个表。用户需要能够选择删除表中的一行,所以我创建了一个“删除?” 表格最后一列中的按钮选项。

该按钮如下所示:

 echo '<td> <input type="submit" name="'.$row['language'].'" value="Delete?" class="odd" />';

因此,该按钮获得了具有该行语言的名称属性。

我有两个问题: 1. 最重要的是,我不知道如何访问这个字段。最初我想我可以通过 POST 获取它,例如 name = _$POST['name'],但我需要“语言”字段来获取与该行对应的特定按钮。希望您理解...为了澄清,在打印出查询之前不会生成 html 属性名称。然后我需要知道 name 属性才能在 delete.php 中访问它。

  1. 即使我可以从按钮中获取要删除的语言的名称,也可能在数据库中可能存在具有其他属性的其他同名语言,因此我不希望在执行删除时删除这些语言声明,这意味着我需要来自表的特定行的更多信息。那么我将如何传递更多信息?

我一直在考虑隐藏字段,但我不确定如何生成所有信息以及如何将其传递给我的 delete.php 文件。

如果您也有任何其他建议,尽管我愿意接受。

4

2 回答 2

1

最常见的解决方案是放在最后一列的链接中,传递您要在该链接中删除的行的 ID。

链接如下所示:

<a href="delete.php?id=rowid>delete</a>

不要使用 sumbit,因为每个行 id 都需要不同的链接。

于 2012-09-30T22:06:35.657 回答
0

您的表是否有一个自动递增的主键并且是一个整数?如果是这样,您可以简单地将其id字段用于name属性。因此,如果您的表格如下所示:

id | language
---+---------
 1 | English
 2 | French
 3 | C
 4 | にほんご
 5 | foobar

您的输出的一行可能如下所示:

echo '<td><input type="submit" name="'.$row['id'].'" value="Delete?" /></td>';

不过,这取决于表单的目标。预计可以删除和编辑吗?创建一个带有 GET 数据的链接,然后提示确认,这样更简洁,更不容易被滥用。

于 2012-09-30T22:33:02.993 回答