попытка использовать данные post для вставки в mysql с помощью php

#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 и позволить базе данных выбрать идентификатор для вас.