Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Динамический запрос к БД

11K
07 октября 2006 года
NeverBC
40 / / 27.08.2006
Я знаю, что такая проблема решается с помощью AJAX, но по некоторым причинам его использование запрещено. Если коротко что надо сделать - есть список новостей, возле каждой новости кол-во голосов и кнопка "голосовать". Надо чтобы при нажатии на голосовать кол-во голосов увеличивалось на 1, а "голосовать" менялось на недоступную ссылку+при этом в БД должно изменится кол-во голосов реальное. Что я сделал и чего не хватает:
Я сделал для кол-ва голосов 2 слоя. Один отображается сразу, другой после нажатия на "голосовать", на первом кол-во голосов, на втором оно же+1. Ну и 2 слоя для кнопки "голосовать", на одном она доступна, а на другом нет. Плюс сделал для этой кнопки код, при котором слои меняются и кажется как будто юзер успешно проголосовал. Но запроса к БД не шло. Я написал такую функцию.

<script language=javascript>
function query()
{
document.write("<? $queryx="update news set odob=odob+1 where id=$id"; mysql_query($queryx); ?>");
}
</script>

И дописал её в сценарий нажатия кнопки. Голос проходит, но проблема в том, что при этом отображается пустая страница, а не та, которая была. Как предотвратить смену страницы? Ещё выкладываю событие кнопки голосования.

<a class=middle21 href="java script:" onclick="java script:lay27599.style.display='';lay27598.style.display='none';lay27596.style.display='';lay27597.style.display='none';query();">голосовать!</a>
4
07 октября 2006 года
mike
3.7K / / 01.10.2002
Что-то намудрено. А нельзя для учета голоса подгружать невидемую картинку, которая этот голос убдет учитывать ? Кроме картинки можно использовать IFRAME или FRAME. Так делали во времена до AJAX'а.

А чтобы не было пустой страницы, можно вынести весь "javascript:" код в отдельную функцию, которая будет возвращать false.
256
08 октября 2006 года
foxweb
1.0K / / 27.07.2005
[QUOTE=NeverBC]
document.write("<? $queryx="update news set odob=odob+1 where id=$id"; mysql_query($queryx); ?>");
[/QUOTE]

Вот это место понравилось! Пять баллов! ;)
11K
08 октября 2006 года
NeverBC
40 / / 27.08.2006
mike, насчёт способа с картинкой - это как?
304
09 октября 2006 года
Fenyx
707 / / 26.01.2005
[QUOTE=NeverBC]Я знаю, что такая проблема решается с помощью AJAX, но по некоторым причинам его использование запрещено. Если коротко что надо сделать - есть список новостей, возле каждой новости кол-во голосов и кнопка "голосовать". Надо чтобы при нажатии на голосовать кол-во голосов увеличивалось на 1, а "голосовать" менялось на недоступную ссылку+при этом в БД должно изменится кол-во голосов реальное. Что я сделал и чего не хватает:
Я сделал для кол-ва голосов 2 слоя. Один отображается сразу, другой после нажатия на "голосовать", на первом кол-во голосов, на втором оно же+1. Ну и 2 слоя для кнопки "голосовать", на одном она доступна, а на другом нет. Плюс сделал для этой кнопки код, при котором слои меняются и кажется как будто юзер успешно проголосовал. Но запроса к БД не шло. Я написал такую функцию.

<script language=javascript>
function query()
{
document.write("<? $queryx="update news set odob=odob+1 where id=$id"; mysql_query($queryx); ?>");
}
</script>

И дописал её в сценарий нажатия кнопки. Голос проходит, но проблема в том, что при этом отображается пустая страница, а не та, которая была. Как предотвратить смену страницы? Ещё выкладываю событие кнопки голосования.

<a class=middle21 href="java script:" onclick="java script:lay27599.style.display='';lay27598.style.display='none';lay27596.style.display='';lay27597.style.display='none';query();">голосовать!</a>[/QUOTE]
document.write перезаписывает содержимое страницы.... а еще советую почитать про безопастность, скул иньекции и xss
4
09 октября 2006 года
mike
3.7K / / 01.10.2002
[QUOTE=NeverBC]mike, насчёт способа с картинкой - это как?[/QUOTE]
Это когда картинка на самом деле не картинка, а скрипт, которые добавляет запись в базу и отдает невидимую картинку.

А картинка такая подгружается по нажатию JavaScript'ом.

Метод работает только при включенных картинках и JavaScript, по этому обычно использовали iframe и frame.
11K
10 октября 2006 года
NeverBC
40 / / 27.08.2006
Спасибо, реализовал на iframe.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог