![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| lumentek |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 19.11.2009 Репутация: нет Всего: нет |
Всем привет. Возникла задача в админке сделать сокрытие новости без перезагрузки. Тоесть, например, все новости выводятся в таблице, и столбец - скрыть новсть (если она помечена в БД как видимая) и показать новость (если она в БД показана как невидимая).
В общем серверная часть для меня, конечно, не проблема. А вот, клиентской только проскакивают некоторые моменты. Я В общем алгоритм я представляю такой. 1. При клике на ссылку скрыть новость определенной новости, вызываем событие, которое отправляет серверной части ид новости 2. Серверная часть принимает ид, формирует запрос и удаляет его из БД 3. После удаления новости скрипт вызывает событие которое изменяет страницу таким образом чтобы новость исчезла из html-странички Вот примерно так. 2 вариант не проблема для меня. А вот посоветуйте или может пример покажите где о моей ситуации можно узнать. Спасибо! |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
ну, во-первых, по поводу удаления. тебе не кажется, что скрыть и удалить - вообще-то разные вещи.
во-вторых, причём здесь сервер вообще? на страничке ряд новостей, нужно убрать одну или несколько. зачем лишний раз бегать на сервер? тебе же ничего нового не нужно, только убрать некоторые. тогда просто скрывай элемент с новостью:
а теперь, конечно, жду детального пояснения, что же на самом деле хотелось сделать, и что подразумевалось под "скрыть" |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: нет Всего: 92 |
Как я понимаю, речь о флаге IsDeleted в базе, меняемый аякс-реквестом. В общем то всё классически, но.. на всякий случай - оно точно вам надо писать велосипедный код? Или цель - изучение технологических возможностей?
|
|||
|
||||
| lumentek |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 19.11.2009 Репутация: нет Всего: нет |
bars80080, да я спутал. Вместо удаление идет скрытие и показ. Сервер тут притом что, если запрос к серверу субд на скрытие/показа новости произошел удачно, то происходит событие которое в зависимости от типа действие меняет ссылку. Тоесть если пользователь нажал на ссылку скрыть новость, то после изменение поля в БД view, определенной новости, на значение hide, ссылка приобретает вид - показать новость.
Поле которое отвечает за состояние новости (доступно ли оно для показа или нет) имеет тип ENUM('show','hide'). Значение show говорит о том что новость доступна для чтения, значение hide скрыто. Тоесть проще говоря администратор в панели управления хочет скрыть новость, тогда рядом с новостью кликает на скрыть новость и процесс происходит без перезагрузки. На чистом php я могу реализовать все без проблем. Но в силу того что я ещеочень плохо знаю js у меня на клиентской части возникает ступор. Любитель, понимаю что велосипед, вот и хотелось бы такой велосипед найти, простой и понятный для ознакомления. |
|||
|
||||
| bars80080 |
|
||||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
ну, так за чем дело встало?
ставим ссылку на изменение:
где 345 id твоей новости, затем ищем привычную функцию под ajax и шлём сообщение на сервер. там он производит нужные махинации (это уже серверная задача) и возвращает некий ответ. допустим 1 - если новость скрыта и 0, если открыта. остаётся придумать, что делать с этим ответом.
Это сообщение отредактировал(а) bars80080 - 12.2.2010, 14:51 |
||||
|
|||||
| lumentek |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 19.11.2009 Репутация: нет Всего: нет |
bars80080, спасибо за код. Вы не могли бы более детально прокоментировать алгоритм вашего кода.
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |