#php #mysql #html
#php #mysql #HTML
Вопрос:
У меня есть идентификатор, который я пытаюсь прочитать из своей базы данных, и если он равен или меньше идентификатора, я хочу использовать id , пока идентификатора нет в базе данных, и использовать его для идентификатора формы. Проблема в том, что я не знаю, как создать цикл while, который начинается с номера один и проверяет базу данных на наличие этого идентификатора, если он существует, затем вводит идентификатор, пока идентификатор не исчезнет в базе данных, и использует этот идентификатор для введенной формы. это чтобы пользователь мог заполнить форму ион отправляет PDF-файл по электронной почте пользователю, а другой человек может открыть форму и отредактировать ее, то есть ввести новую часть данных, или пользователь может исправить или изменить что-то в форме, не вводя повторно все данные. у меня все формы готовы. у меня есть страница для ввода идентификатора и вызова формы, и она уже хранит данные, но я не могу понять, как заставить ее генерировать общий идентификатор для заказа.
Ответ №1:
Вероятно, вам не следует вручную устанавливать идентификатор в своей таблице. Установите в поле id PRIMARY KEY
значение make it an INT
и UNSIGNED
, последнее включение AUTO INCREMENT
. Оттуда БД автоматически найдет следующее значение для вашего идентификатора и использует его.
Затем в вашем php-коде вставьте недавно заполненную форму в базу данных. и получить последний идентификатор вставки, чтобы создать ссылку на эту предварительно заполненную форму:
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');
mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %dn", mysql_insert_id());
Пример выкл php.net
Дополнительный блок кода, запрошенный в комментариях:
mysql_query("INSERT INTO mytable (product) values ('kossu')");
// GETTING THE ID
$id = mysql_insert_id();
//USING THE ID
$body = "THIS IS AN EMAIL MESSAGE BODY, GO TO http://example.com/form.php?id=" . $id;
mail('bob@example.com', 'My Subject', $body);
Комментарии:
1. Извините, что снова беспокою вас, но я хочу отобразить этот идентификатор в электронном письме. Как бы я поместил идентификатор из этого после некоторого текста в электронном письме обычно я бы использовал данные post «$ _POST [id]» для этого, но поскольку это данные mysql, я не знаю, как отобразить это в строке текста
Ответ №2:
Нет необходимости самостоятельно находить свободные идентификаторы. Вы можете использовать столбец AUTO_INCREMENT и позволить базе данных выбрать идентификатор для вас.