2016-04-20 2 views
-1

У меня есть форма для ввода данных в базу данных MySQL (с кнопкой отправки), и она отлично работает. Теперь я хочу иметь править, следующие & предыдущие кнопки на нем, чтобы получить следующую и предыдущую запись, а также, если нужно, отредактировать их.Как добавить, изменить, следующие и предыдущие кнопки в форме HTML

Я искал в Интернете, но не смог найти решение в соответствии с моим требованием.

+0

Следующая и предыдущая кнопка для чего? Для редактирования вы хотите создать файл PHP и называть его через ajax, поэтому всякий раз, когда пользователь нажимает на запись редактирования, его идентификатор вместе с изменениями будет отправлен в этот файл PHP. –

ответ

0

Прежде всего, вы должны убедиться, что у вас есть столбец для записи идентификатора, который приведен 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, то запустите свой код редактирования и заполните поля/включите функцию редактирования.

+0

Уважаемый господин Хью, у меня есть таблица с целым числом ID в качестве первичного ключа и автоинкремента. Моя форма html вставляет в нее значения с помощью кнопки отправки. Я поместил еще одну кнопку «предыдущий», вызвав другой php-файл, но не знаю, как другой php-файл будет заполнять значения в той же форме. –

+0

Либо скопируйте и вставьте форму, либо используйте переменную '$ _GET', такую ​​как'? Edit', и проверьте, не редактируете ли вы. Я обновил свой ответ, поэтому дайте мне знать, если это поможет. –

Смежные вопросы