Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: вкл/выкл
Форумы портала PHP.SU » » HTTP и PHP » вкл/выкл

Страниц (2): [1] 2 »
 

1. aleks3130 - 22 Сентября, 2011 - 15:59:46 - перейти к сообщению
Добрый день подскажите как сделать

есть объект <img>

при клике на него значение в БД меняется и картинка соответственно. (вкл.выкл) значения в БД 1 или 0

Хотелось бы реализоать с помощью AJAX+JQUERY+php+mysql

Всем заранее спасибо
2. caballero - 22 Сентября, 2011 - 16:23:22 - перейти к сообщению
А вопрос какой? Или это просто информация.
3. DeepVarvar - 22 Сентября, 2011 - 17:57:48 - перейти к сообщению
Радость
4. snikers987 - 24 Сентября, 2011 - 14:48:41 - перейти к сообщению
собственно для чего записывать в базу?
5. Schupp - 24 Сентября, 2011 - 15:27:55 - перейти к сообщению
Налетели на человека Улыбка

Сам сейчас делаю подобное, поэтому суть вопроса понял. Но помочь смогу только тогда, когда сам осилю Улыбка

Пример: возле какого-то пункта меню стоит иконка. Пусть она обозначает видимость какой-то страницы. Повторюсь - пример. Соответственно в базе в нужном поле стоит 1. При клике на иконку она меняется на другую, обозначающую невидимость страницы, а в базу пишется в это поле значение 0.

Сейчас у меня это с перезагрузкой идет, т.е. иконка является ссылкой, через GET передающей команду изменить состояние нужного поля и сменить иконку на противоположную.

Топикстартер хочет получить это без перезагрузки. Честно говоря, я тоже хочу, но пока не дошел до этого пункта, хотя в планах стоит. Так что если кто из специалистов подскажет логику решения - то и я присоединюсь к благодарностям топикстартера!
6. broshurkaplus - 24 Сентября, 2011 - 16:25:17 - перейти к сообщению
если ид или сама кнопочка уникальна, пробуйте аякс.пост и передавайте параметр какой нибудь напр "1" а там ловите и скриптом проверяете бд - ссли стоит 1 то апдате на 0 и наоборот.
типа так.
а если кнопок много и каждая генерится со своим ид то яваскрайптом можно передатьпараметр в функцию далее через айфрейм передать в скрипт обработки а там менять чо нужно - я так делаю при голосовании
1 нажимаем например +5
2 яваскрайпт переписывает значение рейтинга в браузере (напр было 1 стало 6)
3 скрывает форму с кнопками для голосования
4 передаёт значение скрипту обработки. который правит в бд
7. Schupp - 24 Сентября, 2011 - 19:25:35 - перейти к сообщению
Глобально все более-менее понятно. Но может кто из специалистов чуть более конкретно подскажет?

На примере:
вот есть две картинки: vis0.png и vis1.png
По названиям понятно, что каждая означает. Поле в базе пусть тоже будет vis
id пункта меню соответствует id строки в таблицы базы.

Сейчас я проверяю значение поля vis в базе в строке с соответствующим id и подставляю в имя картинки значение его, 0 или 1. Ну а при нажатии в GET передается значение для запуска функции по смене значения этого поля. Значение поля меняется и соответственно при перезагрузке в имя картинки вставляется новое значение.

А вот как будет выглядеть это с AJAX без перезагрузки в конкретном виде, в программном, пока не представляю еще. Ну и вижу, не одного меня это интересует.

Конкретного решения в гугле не нашел, в более-менее близких ситуациях отсылают к манам без комментариев. Буду благодарен за тыканье носом в более конкретную документацию или за примеры реализации.
8. E-Pro - 24 Сентября, 2011 - 20:18:18 - перейти к сообщению
Прописать на картинку onClick, и выглядеть будет наподобие:
CODE (html):
скопировать код в буфер обмена
  1. <img id="img" src="vis1.png" onclick="Go(1)">


CODE (javascript):
скопировать код в буфер обмена
  1. function Go(type){
  2.  type = (type == 1) ? 0 : 1;
  3.  $.post("patch-edit-vis", {"type": type});
  4.  $("img#img").attr({"src":"vis"+type+".png"});
  5. }
9. MrBeard - 24 Сентября, 2011 - 20:35:28 - перейти к сообщению
E-Pro пишет:
function Go(type)
CODE (javascript):
скопировать код в буфер обмена
  1. {
  2.  type = (type == 1) ? 0 : 1;
  3.  $.post("patch-edit-vis", {"type": type});
  4.  $("img#img").attr({"src":"vis"+type+".png"});
  5. }



http://api[dot]jquery[dot]com/jQuery[dot]post/
советовал бы не менять картинку сразу, а в callback проверять ответ сервера и только на success менять картинку. а то мало ли)))
10. E-Pro - 24 Сентября, 2011 - 22:24:04 - перейти к сообщению
Я написал человеку более менее пример для реализации)
А проверять или не проверять, уже пусть сам решает))
11. Schupp - 24 Сентября, 2011 - 23:08:33 - перейти к сообщению
E-Pro пишет:
более менее пример для реализации

Спасибо! Этого для смены картинки достаточно, проверки и нюансы, действительно, буду сам докуривать.

А вот отношения с базой в данном скрипте я сам пока не в силах оформить. Помогите, пожалуйста. Хотя бы схематично, нюансы уже сам буду добивать. Мне бы сам принцип понять.
12. E-Pro - 25 Сентября, 2011 - 00:04:01 - перейти к сообщению
Из сообщения выше, я понял, что у Вас уже есть код который меняет значения по определенному GET запросу.
В чем заключается тогда проблема?
13. Schupp - 25 Сентября, 2011 - 00:37:21 - перейти к сообщению
E-Pro пишет:
В чем заключается тогда проблема?

Проблема в моей тормознутости Улыбка

E-Pro пишет:
$.post("patch-edit-vis"

Не дошло сразу, что это это и есть ссылка на скрипт, выполняющий работу с базой.
14. E-Pro - 25 Сентября, 2011 - 00:40:34 - перейти к сообщению
Это не тормознутость, а невнимательность.
Но учтите, что в данном коде данные передаются в POST, а не в GET и если что, измените проверку данных при обработке в php или тип функции для передачи данных в GET.
15. Schupp - 25 Сентября, 2011 - 00:56:31 - перейти к сообщению
E-Pro пишет:
в данном коде данные передаются в POST, а не в GET

Да, я обратил внимание. Спасибо.


Но почему-то не работает onclick на картинке Недовольство, огорчение

Тупо скопировал пример для дальнейшей работы, скрипт-обработчик пустой. Но на клик картинка не реагирует... Где я опять туплю?

http://gerlach-ing-buero[dot]de/info.php

PS. Это страница для тестирования всякого разного, там к данному посту относится только верхняя картинка лампочки. И нет никакой реакции, картинка не меняется.

 

Powered by ExBB FM 1.0 RC1