Прежде всего, вы должны убедиться, что у вас есть столбец для записи идентификатора, который приведен INTEGER
, PRIMARY 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&edit.
На серверном сервере вы можете проверить изменения с помощью isset($_GET['edit'])
. Если это вернет true, то запустите свой код редактирования и заполните поля/включите функцию редактирования.
Следующая и предыдущая кнопка для чего? Для редактирования вы хотите создать файл PHP и называть его через ajax, поэтому всякий раз, когда пользователь нажимает на запись редактирования, его идентификатор вместе с изменениями будет отправлен в этот файл PHP. –