| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: для новичков > ajax |
| Автор: lumentek 11.2.2010, 22:31 |
| Всем привет. Возникла задача в админке сделать сокрытие новости без перезагрузки. Тоесть, например, все новости выводятся в таблице, и столбец - скрыть новсть (если она помечена в БД как видимая) и показать новость (если она в БД показана как невидимая). В общем серверная часть для меня, конечно, не проблема. А вот, клиентской только проскакивают некоторые моменты. Я В общем алгоритм я представляю такой. 1. При клике на ссылку скрыть новость определенной новости, вызываем событие, которое отправляет серверной части ид новости 2. Серверная часть принимает ид, формирует запрос и удаляет его из БД 3. После удаления новости скрипт вызывает событие которое изменяет страницу таким образом чтобы новость исчезла из html-странички Вот примерно так. 2 вариант не проблема для меня. А вот посоветуйте или может пример покажите где о моей ситуации можно узнать. Спасибо! |
| Автор: bars80080 12.2.2010, 01:16 | ||
| ну, во-первых, по поводу удаления. тебе не кажется, что скрыть и удалить - вообще-то разные вещи. во-вторых, причём здесь сервер вообще? на страничке ряд новостей, нужно убрать одну или несколько. зачем лишний раз бегать на сервер? тебе же ничего нового не нужно, только убрать некоторые. тогда просто скрывай элемент с новостью:
а теперь, конечно, жду детального пояснения, что же на самом деле хотелось сделать, и что подразумевалось под "скрыть" |
| Автор: Любитель 12.2.2010, 01:29 |
| Как я понимаю, речь о флаге IsDeleted в базе, меняемый аякс-реквестом. В общем то всё классически, но.. на всякий случай - оно точно вам надо писать велосипедный код? Или цель - изучение технологических возможностей? |
| Автор: lumentek 12.2.2010, 14:05 |
| bars80080, да я спутал. Вместо удаление идет скрытие и показ. Сервер тут притом что, если запрос к серверу субд на скрытие/показа новости произошел удачно, то происходит событие которое в зависимости от типа действие меняет ссылку. Тоесть если пользователь нажал на ссылку скрыть новость, то после изменение поля в БД view, определенной новости, на значение hide, ссылка приобретает вид - показать новость. Поле которое отвечает за состояние новости (доступно ли оно для показа или нет) имеет тип ENUM('show','hide'). Значение show говорит о том что новость доступна для чтения, значение hide скрыто. Тоесть проще говоря администратор в панели управления хочет скрыть новость, тогда рядом с новостью кликает на скрыть новость и процесс происходит без перезагрузки. На чистом php я могу реализовать все без проблем. Но в силу того что я ещеочень плохо знаю js у меня на клиентской части возникает ступор. Любитель, понимаю что велосипед, вот и хотелось бы такой велосипед найти, простой и понятный для ознакомления. |
| Автор: bars80080 12.2.2010, 14:50 | ||||
| ну, так за чем дело встало? ставим ссылку на изменение:
где 345 id твоей новости, затем ищем привычную функцию под ajax и шлём сообщение на сервер. там он производит нужные махинации (это уже серверная задача) и возвращает некий ответ. допустим 1 - если новость скрыта и 0, если открыта. остаётся придумать, что делать с этим ответом.
|
| Автор: lumentek 12.2.2010, 15:01 |
| bars80080, спасибо за код. Вы не могли бы более детально прокоментировать алгоритм вашего кода. |