Добрый вечер. Написал гостевую книгу с возможностью удалять сообщения, интересует алгоритм реализации редактирования уже существующих сообщений. Есть пара приблизительных алгоритмов, но хотел бы услышать совет опытных мастеров как это все грамотно сделать?
Я планирую приблизительно так - если нажата кнопка редактировать, то берем id сообщения и через UPDATE обновляем. Только одно не могу понять, всегда берется то сообщение, которое было отправлено в последний раз(в textarea). Для этого нужно сначала сделать SELECT по Id а потом уже UPDATE? или есть какой то более хитрый способ? Что то мне кажется странным то, что для простой кнопки требуется 2 разных запроса... Да ещё и учитывая то, что SELECT у меня уже есть ибо сообщения в гостевой книге светятся не с воздуха...
пробовал сделать и так <textarea><?=$msg?></textarea> но тоже ничего не приходит. всегда одно и тоже сообщение - мб что то похожее подскажете вместо двойного запроса?
Тоесть мне не нужно что бы при редактировании открывалось "чистое поле для нового сообщения" а чтоб было видно внутри textarea уже существующее сообщение с возможностью его редактировать.
Спасибо заранее )
(Добавление)
В основном интересует тот момент, что бы когда была нажата кнопка редактировать, на странице редактирования в textarea высвечивалось именно то сообщение, которое было выбрано... если просто сделать <textarea><?=$msg?></textarea> то понятно что получим не то, что нужно... надо как то по id его туда записать.. но как сделать это без запроса не представляю пока что
1. teddy - 08 Мая, 2013 - 18:50:31 - перейти к сообщению
2. EuGen - 08 Мая, 2013 - 19:11:16 - перейти к сообщению
Если Вы уже выбрали сообщение из БД (чтобы показать) - зачем делать это снова? Используйте уже имеющийся текст.
3. teddy - 08 Мая, 2013 - 19:13:32 - перейти к сообщению
EuGen пишет:
Если Вы уже выбрали сообщение из БД (чтобы показать) - зачем делать это снова? Используйте уже имеющийся текст.
Да, вот и я о том же ) Но как сделать что бы при нажатии на кнопку редактировать(которая есть рядом с каждым сообщением), что бы это же сообщение появлялось в textarea? А не пустое окно, где приходится все вводить заново и делать апдейт? <textarea><?=$msg?></textarea> всегда выдает одно и то же сообщение независимо от выбранного id...
4. avtor.fox - 08 Мая, 2013 - 19:27:33 - перейти к сообщению
teddy, ну, я понял что никакую гостевую Вы не писали)
Код покажите хотя бы.
Код покажите хотя бы.
5. teddy - 08 Мая, 2013 - 19:34:15 - перейти к сообщению
avtor.fox
Писал... код большой, разделен на 5 файлов не считая файла подключения к БД. 1 главный, где есть форма и куда инклюдятся нужные файлы в случае если это необходимо по логике. второй содержит в себе класс, а в нем методы, а 3 остальные инклюдятся в главный файл для обработки данных, которые пришли, а именно, один обрабатывает удаление постов, другой массив который возвращается из выборки, а третий за обработку отправленных сообщений. Знаю, закодено немного "запутанно", но это чисто практическое задание для себя, что бы хоть как то попрактироваться в использовании ООП.
В итоге хочу сделать + редактирование сообщений. За его написание пока не брался ибо не знаю точный алгоритм, привык знать что буду делать, а потом уже делать... вот и решил спросить здесь ) т.к сам пока не понимаю... Идею редактирования выше описал )
Писал... код большой, разделен на 5 файлов не считая файла подключения к БД. 1 главный, где есть форма и куда инклюдятся нужные файлы в случае если это необходимо по логике. второй содержит в себе класс, а в нем методы, а 3 остальные инклюдятся в главный файл для обработки данных, которые пришли, а именно, один обрабатывает удаление постов, другой массив который возвращается из выборки, а третий за обработку отправленных сообщений. Знаю, закодено немного "запутанно", но это чисто практическое задание для себя, что бы хоть как то попрактироваться в использовании ООП.
В итоге хочу сделать + редактирование сообщений. За его написание пока не брался ибо не знаю точный алгоритм, привык знать что буду делать, а потом уже делать... вот и решил спросить здесь ) т.к сам пока не понимаю... Идею редактирования выше описал )
6. nagibator - 08 Мая, 2013 - 19:43:01 - перейти к сообщению
teddy,
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- $res = mysql_fetch_array(mysql_query("SELECT `поле сообщения` FROM `таблица гостевой` WHERE `id` = '".$id."' LIMIT 1"));
- if (!$res) {
- } else {
- echo '<form action="?edit='.$id.'" method="POST">';
- echo 'Сообщение:<br /><textarea name="edit">'.$res['поле сообщения'].'</textarea><br />';
- echo '<input type="submit" value="Изменить" />';
- echo '</form>';
- } else {
- echo 'Сообщение успешно изменено';
- }
- }
- }