【发布时间】:2014-10-08 09:47:47
【问题描述】:
我有一个包含任意数量行的 HTML 表,每行有 4 列。这个想法是让用户编辑任何这些行,然后保存结果。然后应将这些更改保存到数据库中。但我有几个问题。
我在 stackoverflow 上找到了一些帖子,说明了您应该如何处理这个问题,但在我的情况下没有一个非常有用。这是用户编辑我的表格时的样子(虽然我现在只有一行,但可以有好几行)。
当然还有一个提交按钮,它将我带到一个名为“handle_edit.php”之类的 php 文件。
现在another post on stackoverflow 关于这个主题表明我应该使用某种 foreach 循环来编辑我的 HTML 表中每行的 SQL 表中的一行。我在“handle_edit.php”中的这个循环版本现在看起来像这样:
foreach( $_POST['appearances'] as $appearances ) {
$goals = $_POST['goals'];
$assists = $_POST['assists'];
$name = ??????? //How to I do this?
mysqli_query($connection, "UPDATE players
SET appearances=$appearances, goals=$goals, assists=$assists
WHERE name=$name");
}
首先。 foreach 循环需要包含一个数组表达式,编译器告诉我现在不是这种情况。但我不知道如何计算行数。在我上面链接的线程中,他们正在做与此类似的事情,但我认为我不完全理解他们在做什么,因为我的 foreach 循环不起作用。
其次,由于表中的名称列不是输入字段,我不知道如何将其与其余信息一起发送到此页面。我需要以某种方式执行此操作,因为我想根据提供的名称确定要编辑的行。这个 SQL 表中的每个玩家都有一个唯一的玩家 ID,我可以使用它吗?
我可能以错误的方式处理这个问题吗?有没有更可行的解决方案?
如果您需要任何其他代码,请告诉我。
提前致谢!
【问题讨论】:
-
是的,你走错路了。你需要学习 1.隐藏输入字段 2.数据库主键 3.sql 注入,可能还有更多..
标签: php html sql sql-update html-table