Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Передача переменной из JavaScript в PHP


Автор: flintstone 15.4.2009, 09:02
Здравствуйте. Имеется скрипт рейтинга http://nofunc.org/AJAX_Star_Rating/ . Как можно результат скрипта присвоить какой-нибудь переменной, с последующей обработкой в MySQL.

Автор: bars80080 15.4.2009, 09:41
дык, вот же у вас в 33 строчке:
Код

    req=new XMLHttpRequest(); req.open('GET','?vote='+(v/100),false); req.send(null);    

идёт присвоение значения переменной. в серверном скрипте значение будет доступно в $_GET['vote']

Автор: flintstone 15.4.2009, 16:00
Да, такая строка есть. Но как сделать чтобы переменная присваивалась не методом GET, а POST. Чтобы было присвоение к переменной, значение которой я мог бы занести в MySQL.

Автор: bars80080 15.4.2009, 16:05
а какая принципиальная разница для mysql методом GET или POST передана переменная?

Добавлено через 22 секунды
тем более в аяксе?

Автор: flintstone 16.4.2009, 01:12
Я понимаю что туплю, но всё равно не могу понять как переменной присвоить значение если на странице находятся несколько Star Rating. Не могли ли бы вы привести пример, когда переменной присваивается значение с последующим переносом в MySQL.

Автор: bars80080 16.4.2009, 09:47
Цитата(flintstone @  16.4.2009,  01:12 Найти цитируемый пост)
когда переменной присваивается значение с последующим переносом в MySQL. 

вопрос с занесение в БД никак не связан, это серверная сторона и если перенные есть, то их внос, обработка или иное жонглирование никак не отличается от стандартных методов работы с БД.
это я говорю к тому, что если проблема с записью в БД - то путь в другой раздел, причём вы не сообщили какой (php, asp, java...)


Цитата(flintstone @  16.4.2009,  01:12 Найти цитируемый пост)
как переменной присвоить значение если на странице находятся несколько Star Rating

значит, надо внести дополнительный идентификатор

допустим, у нас голосование идёт о неких товарах, а серверный язык пхп:

Код

<ul id="star" class="star" onmousedown="star.update(event,this, 14)" onmousemove="star.mouse(event,this)" title="Rate This!">

где 14 - id товара, вставленного при генерации страницы:

Код

echo '<ul id="star" class="star" onmousedown="star.update(event,this, '.$r['id'].')" onmousemove="star.mouse(event,this)" title="Rate This!">';
а $r - строчка из БД

дополняем функцию:

Код

star.update=function(e,o, elid) { 
    var n=star.num, v=parseInt($('starUser'+n).innerHTML);
    n=o.id.substr(4); $('starCur'+n).title=v;
    req=new XMLHttpRequest();
    req.open('GET','?vote='+(v/100),false) + '&id=' + elid;
    req.send(null);
};


теперь к нам на сервер придут две переменные - $_GET['vote'] и $_GET['id'], что нам позволит изменить рейтинг в конкретной записи по id

Автор: flintstone 16.4.2009, 17:02
Большое спасибо. Разобрался.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)