С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
 Аватар для caesarnn
57 / 57 / 18
Регистрация: 22.05.2015
Сообщений: 607

Редактирование данных в БД через форму

13.11.2016, 09:58. Показов 1592. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Есть код, который выводит некие данные из БД посредством mysqli_fetch_array
(это фрагмент кода)
PHP
1
2
3
4
5
6
7
8
9
10
// выводим в HTML-таблицу все данные клиентов из таблицы MySQL 
  while($data = mysqli_fetch_array($wwwlist)){ 
    echo '<tr>';
    echo '<td>' . $data['name'] . '</td>';
    echo '<td><textarea name = "email">' . $data ['email'] . '</textarea></td>';
    echo '<td> <textarea name = "indexfiles">' . $data ['indexfiles'] . '</textarea></td>';
    echo '<td> <textarea name = "alias">' . $data ['alias'] . '</textarea></td>';
      echo '<td> <textarea name = "charset">' . $data ['charset'] . '</textarea></td>';
    echo '</tr>';
  }
Вопрос: как через эти текстовые поля редактировать содержимое БД? Каждому из текстовых полей присвоено имя, но при записи данных в БД (как я понимаю), если я в одной из строк поменяю (например) значение email, то при сохранении у меня в БД во всём столбце email будут одинаковые значения. И ещё такой вопрос: при записи обратно в БД не будет так, что в ячейке будет одновременно и старое и новое значения этого поля? Как одно из возможных решений - сохранить id записи в скрытое поле, но как это сделать, я не знаю. Заранее благодарен за помощь.

Добавлено через 12 минут
В БД есть поле с авто инкрементом.
Вывел его значение в скрытое поле в таблице
PHP
1
 echo ' <input type = "hidden">'. $data ['unid'];
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.11.2016, 09:58
Ответы с готовыми решениями:

Редактирование базы данных через админку. Сбои обработчика
Здравствуйте. у меня вот такая проблемка. сделал в админку для добавление новостей на сайт и редактирование. Захожу в админку добавляю...

Добавление данных на БД через форму
Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\wamp\www\test.ur\add.php on line 34 как устранить ошибку?...

Добавление данных в БД через форму
Доброго времени суток! Начинаю изучать php, нужно сделать что бы из формы данные добавлялись в БД. Вот сама форма: &lt;form...

7
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
13.11.2016, 10:48
Цитата Сообщение от caesarnn Посмотреть сообщение
В БД есть поле с авто инкрементом.
Вот и отлично. Сделайте его первичным ключом, если это не так. Если хотите обезопаситься от создания/сохранения записей с идентичным значением email, сделайте это поле уникальным индексом.

Цитата Сообщение от caesarnn Посмотреть сообщение
Вывел его значение в скрытое поле в таблице
Если вы разместите обработчик формы по тому же самому адресу, что и сама форма, в этом не будет никакой необходимости, т.к. идентификатор будет присутствовать в адресе.

Для записи в БД используйте запрос UPDATE. Если вы просто будете писать новые значения, то они будут заменять старые.

При выводе значений полей в контролы нужно кодировать HTML-сущности. При сохранении – экранировать спец. символы MySQL (кавычки и т.п.).
0
 Аватар для caesarnn
57 / 57 / 18
Регистрация: 22.05.2015
Сообщений: 607
13.11.2016, 10:50  [ТС]
Цитата Сообщение от miketomlin Посмотреть сообщение
Сделайте его первичным ключом, если это не так
Поле как раз является первичным ключом
Цитата Сообщение от miketomlin Посмотреть сообщение
Если вы разместите обработчик формы по тому же самому адресу, что и сама форма
форма и её разработчик находятся в одном файле.
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
13.11.2016, 10:59
PHP
1
// выводим в HTML-таблицу все данные клиентов из таблицы MySQL
А вы на форму одновременно выводите сразу несколько записей?

Добавлено через 1 минуту
Лучше сделайте обычную таблицу с редактированием выбранной записи на отдельной странице.
0
 Аватар для caesarnn
57 / 57 / 18
Регистрация: 22.05.2015
Сообщений: 607
13.11.2016, 11:02  [ТС]
Да.
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
13.11.2016, 11:07
См. выше. У выбранного вами подхода много недостатков. В представленном вами виде вы идентифицируете одноименные поля разных записей одинаковыми именами, поэтому обработчик будет воспринимать только данные одной записи. Слишком большой бесполезный объем трафика и перезаписываемых данных.
0
 Аватар для caesarnn
57 / 57 / 18
Регистрация: 22.05.2015
Сообщений: 607
13.11.2016, 11:14  [ТС]
Я вывожу сразу несколько записей на страницу
Миниатюры
Редактирование данных в БД через форму  
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
13.11.2016, 11:21
Понятно. См., что я дописал к пред. предыдущему посту. Грубо говоря на странице /listitems.php выводите таблицу со ссылками /edititem.php?id=..., по которым уже размещаете страницу редактирования/сохранения записи.

Добавлено через 5 минут
Или делайте на странице отдельные формы с уникальными обработчиками или вашим скрытым полем.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.11.2016, 11:21
Помогаю со студенческими работами здесь

Ввод данных в форму через php
Есть форма с TextBox'ом : &lt;div class=&quot;labeled&quot;&gt;&lt;input type=&quot;text&quot; name=&quot;year&quot; class=&quot;text&quot; style=&quot;width:153px&quot;&gt;&lt;/div&gt; Возможно...

Добавление данных в MySQL через форму
Вот код &lt;?php include(&quot;includes/header.php&quot;); ?&gt; &lt;?php include(&quot;includes/header3.php&quot;); ?&gt; &lt;form action=&quot;invite.php&quot;...

Затруднение с внесением данных через форму в БД
Всем, привет! Изучаю php самостоятельно и вот столкнулся с такой проблемой. При отправке данных и форм в БД прилетают пустые данные, хотя...

Добавление данных в json, через форму
Почему после отправки корректных данных, файл data.json не дополняется? Изначальный файл Я проверил, если после $data...

Передача данных в форму через ссылку
Как, зная скрыпты передачи данных, передать через ссылку данные на сайт?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru