Помогите пожалуйста с записью в БД по событию мыши.
Добрый вечер.
Я Только начал изучать JS - помогите пожалйста с функцией записи в БД по событию наведения мыши. <!DOCTYPE HTML> <html> <head> <script type="text/javascript"> function mouseOver() { document.getElementById("button").src ="../images/button2.png"; } function mouseOut() { document.getElementById("button").src ="../images/button1.png"; <?php // Данные для mysql сервера $dbhost = "localhost"; $dbuser = "root"; $dbpassword = ""; $dbname = "database"; $link = mysql_connect($dbhost, $dbuser, $dbpassword); mysql_select_db($dbname, $link); $query = "insert into customer values(0,'тест', 'тест')"; mysql_query($query, $link); mysql_close($link); ?> } </script> </head> <body> <a href="#"> <img border="0" alt="Пример 2" src="../images/button1.png" id="button" onmouseover="mouseOver()" onmouseout="mouseOut()" /> </a> </body> </html> Уверен что в коде написана ересь полнейшая, не пинайте пожалуйста сильно. В таком кособоком и кривом виде код отрабатывается только один раз (навели мышь, появилось картинка - записалось в бд) по каждый последующий не работает, снова начинает работать только после обновления страницы. |
Я бы использовал ajax, каждый раз отправляешь ajax-запрос, и в php его обрабатываешь.
|
drenadan,
Объясните подробней - этот код в браузере на клиенте ? Что он должен отправлять ? |
код лежит на сервере.
я с JS не сталкивался к сожалению до этого Задача состоит в том что: Собираю робота, до этого управление делал через програмку накатанную на делфи, с усовершенствованием железа (добавился модуль Ethernet) переделываю управление через Инет по идее есть область вида римской единицы, блоки разбиты следующим образом : Центр - Стоп , верхний центральный блок - газ , Верхний левый - поворот влево, верхний правый - поворот вправо, ну и так же назад. мохги на роботе считывают по средством ГЕТ запросов показания с БД и очишают ... на деле Выглядит так - Навели на область ГАЗ - запись в базу с значением 255 (к примеру, там не важно ), железка на роботе обратилась к скрипту на вэб сервере считала данные - выполнила - очистила таблицу .... все реализовано кроме записи данных в БД по наведению на область ... буду рад любым советам. |
Цитата:
|
Цитата:
Пока трудно даже сказать, каким местом js cюда, если непонятно каким макаром и где это прописано Если это браузерная вещь - должен быть некий HTML код вашего рабочего стола управления |
drenadan,
var last_id = new XMLHttpRequest(); // создете новый запрос last_id.open('post', 'tochat.php', true) // post, куда, true last_id.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); // это просто нужно last_id.send("c=1") // и что-нибудь посылаете if($_POST['c']) { // если запрос был осуществлен.. //code... } // того вы сделали тоже самое, этого хотели? |
Цитата:
еще раз спасибо. начинаю понимать принцип работы Вот что получилось. <!DOCTYPE HTML> <html> <head> <script type="text/javascript"> function mouseOver() { document.getElementById("button").src ="../images/button2.png"; var last_id = new XMLHttpRequest(); // создете новый запрос last_id.open('post', '4.php', true) // post, куда, true last_id.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); // это просто нужно last_id.send("c=1") // и что-нибудь посылаете if($_POST['c=1']) { // если запрос был осуществлен.. <?php // Данные для mysql сервера $dbhost = "localhost"; // Хост $dbuser = "root"; // Имя пользователя $dbpassword = ""; // Пароль $dbname = "database"; // Имя базы данных // Подключаемся к mysql серверу $link = mysql_connect($dbhost, $dbuser, $dbpassword); // Выбираем нашу базу данных mysql_select_db($dbname, $link); // Добавляем запись в нашу таблицу customer // т.е. делаем sql запрос $query = "insert into customer values(0,'Иванов Иван Иванович', '(095) 555-55-55')"; mysql_query($query, $link); // Закрываем соединение mysql_close($link); ?> } // того вы сделали тоже самое, этого хотели? } function mouseOut() { document.getElementById("button").src ="../images/button1.png"; } </script> </head> <body> <a href="#"> <img border="0" alt="Пример 2" src="../images/button1.png" id="button" onmouseover="mouseOver()" onmouseout="mouseOut()" /> </a> </body> </html> |
А это нормально? О_о:
if($_POST['c=1']) { // если запрос был осуществлен.. <?php // Данные для mysql сервера $dbhost = "localhost"; // Хост $dbuser = "root"; // Имя пользователя $dbpassword = ""; // Пароль $dbname = "database"; // Имя базы данных Может быть if($_POST['c']) {} запихнете в php?)) |
Цитата:
теперь при уходе с области я могу таким же образом через mouseOut отправить запрос и если он осуществлен выполнить php скрипт очистки таблицы в БД ? |
Часовой пояс GMT +3, время: 08:01. |