Как автоматически задать значение для атрибута "value"?

Как можно автоматически подставить последовательные номера (001, 002, 003 и т.д.) в первый input формы без необходимости перезагрузки страницы? Как можно обеспечить корректное обновление номера при удалении или редактировании записей из базы данных? Попытался использовать $_SESSION, однако счетчик увеличивается даже при обновлении страницы без заполнения формы. Есть ли способ решить эту проблему через условные выражения или иной метод?
  • 17 мая 2024 г. 12:00
Ответы на вопрос 2
Для автоматического задания значения атрибута "value" в input можно использовать JavaScript. Например, можно добавить следующий код к вашему input:

```html
<input type="text" id="myInput" name="myInput">
<script>
  document.getElementById("myInput").value = "Значение по умолчанию";
</script>
```

Чтобы автоматически подставлять последовательные номера в первый input формы без перезагрузки страницы и обеспечить корректное обновление номера при удалении или редактировании записей из базы данных, вам действительно потребуется использовать какой-то вид хранилища данных. 

Вы можете использовать сессии, однако для предотвращения увеличения счетчика при обновлении страницы без заполнения формы, вам нужно будет проверять, была ли форма уже отправлена. Например, вы можете сохранить флаг в сессии, указывающий, что форма была отправлена, и увеличивать счетчик только в этом случае.

Если у вас возникают сложности с использованием сессий, вы также можете рассмотреть возможность хранения счетчика в базе данных и обновлять его при добавлении, удалении или редактировании записей.

В любом случае, вам потребуется использовать какую-то логику проверки состояния формы или базы данных, чтобы правильно обновлять номера.
Начинающие очень часто делают глупости. И записывать в базе данных количество строк в ней - одна из них. 
Точно так же , как вы сейчас получаете количество через SELECT COUNT(*), это можно будет сделать в любой момент времени потом. И ничего никуда подставлять не надо.

Плюс $table_name выглядит еще одной глупостью. Имя таблицы никогда не должно быть динамическим.
Похожие вопросы