Имеется код, который выводит в html-таблицу значения из базы данных, возможно даже из двух связанных таблиц, но не суть важно. У каждой строки имеется value, в которое подставляется значение из базы, но вывожу все это дело в тег input (это страница редактирования данных). Как мне с помощью нажатия кнопки сохранить новые данные в базе? Допустим, изменил я данные в одной строке (одно или несколько полей), нужно чтобы они сохранились в базе. Скорость работы не важна, можно просто топорно и грубо брать абсолютно все строки (даже те, которые не редактировались) и обновлять одним запросом. Как это сделать?
Набросал такой код: PHP: <?php $text = file_get_contents( 'http://coursework/edit.php?value=personalAccount' ); preg_match_all( '/<th scope="row">(.*)<\\/th>/' , $text , $title ); print_r($title); ?> Выдает пустой массив. Что делаю не так?
Парсинг тут не при чем, прочтите первый пост. Но ТС именно через парсинг пытается это делать. Это ппц просто. 1. Простой способ. Таблицу оборачиваете в форму <form>. Инпутам даёте соотв имена например input[1] где 1,2 итд это id элемента из таблицы. Принимаете на бэке массив с ид и значениями, обновляете в бд 2. Посложнее, но кошернее. На каждый инпут привязываете на событие chsnge или кнопочку сохранить рисуете функцию, которая ajax передает ид и значение в бек, там обновляете в бд
Так и я об этом думал изначально, но я не знаю как принять этот массив. В случае с выборкой из бд при выводе значений проблем нет, просто делаем запрос и формируем массив с помощью функции, а в этом случае как?
Сохранять нужно отдельные записи или даже отдельные поля записи. Запрос к БД идет по id записи с перечнем обновляемых полей и их новых значений. Существование записи и изменяемых полей лучше предварительно проверять, значения экранировать или использовать подготовленные запросы. --- Добавлено --- Т.е. непосредственно при сохранении можно сделать выборку изменяемой записи, убедившись что она существует, и сравнить имена полей. Также можно сравнить и поступившие значения полей, чтобы не писать лишнее, если эти значения совпадают с оригинальными. Запись в БД – это дорогая операция, поэтому ее нужно по максимуму упрощать.
Пых тебе сохранит значения полей с формы в ассоциативном массиве $_POST. Тебе нужно только форму нормально сформировать, а потом обработать содержимое $_POST.