如何获得添加,编辑,下一个&;HTML表单上以前的按钮


How to get add, edit, next & previous buttons on HTML form

我有一个将数据发布到MySQL数据库的输入表单(带有提交按钮),它运行良好。现在我想进行编辑,下一步&上的上一个按钮,以获取下一个和上一个记录,并在需要时对其进行编辑。

我在网上搜索过,但没有找到符合我要求的解决方案。

首先,您应该确保记录ID的列是INTEGERPRIMARY KEY,并设置为AUTOINCREMENT,让我们称之为"recordID"。

让我们以个人表模式为例:

CREATE TABLE people (
    recordID INTEGER PRIMARY KEY AUTOINCREMENT,
    firstName VARCHAR(140) NOT NULL,
    middleNames VARCHAR(250),
    lastName VARCHAR(140) NOT NULL,
    dateOfBirth DATE NOT NULL
);

要查询第一条记录,我们可以执行以下操作:

SELECT * FROM people WHERE recordID = 1;

现在要编辑记录,我们可以做:

UPDATE people SET firstName="NewName" WHERE recordID = 1;

接下来,我们构建一个HTML表单来在.中显示/编辑这些数据

<form action="#" method="post">
    <input type="text" readonly="readonly" name="recordID" id="recordID" />
    <input type="text" name="firstName" id="firstName" />
    <input type="text" name="middleNames" id="middleNames" />
    <input type="text" name="lastName" id="lastName" />
    <input type="date" name="dateOfBirth" id="dateOfBirth" />
    <input type="submit" />
</form>

最后,您可以创建一些下一个和上一个按钮来遍历记录并填充输入字段,然后创建一个编辑按钮,将数据发送到服务器以更新数据库。

如果您觉得奢侈,可以使用SQL的INSERT INTO ... ON DUPLICATE KEY UPDATE。例如:

INSERT INTO people (firstName, lastName, middleNames, dateOfBirth) VALUES (?, ?, ?, ?) ON DUPLICATE KEY UPDATE firstName="?", lastName="?", middleNames="?", dateOfBirth="?";

为了进行"就地编辑",可以在查询字符串中添加一个变量。例如,如果要编辑recordID=3,可以将URL设置为:http://yourserver.com/person/?id=3&编辑

在服务器端,您可以使用isset($_GET['edit'])进行编辑检查。如果返回true,则运行编辑代码并填充字段/启用编辑功能。