04.06.2012, 22:07
|
Интересующийся
|
|
Регистрация: 04.06.2012
Сообщений: 11
|
|
Помогите пожалуйста с записью в БД по событию мыши.
Добрый вечер.
Я Только начал изучать 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>
Уверен что в коде написана ересь полнейшая, не пинайте пожалуйста сильно.
В таком кособоком и кривом виде код отрабатывается только один раз (навели мышь, появилось картинка - записалось в бд)
по каждый последующий не работает, снова начинает работать только после обновления страницы.
|
|
04.06.2012, 22:10
|
|
сегодня в 12:34|Комментир
|
|
Регистрация: 12.04.2011
Сообщений: 1,180
|
|
Я бы использовал ajax, каждый раз отправляешь ajax-запрос, и в php его обрабатываешь.
__________________
оляля, ололо
|
|
04.06.2012, 22:12
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
drenadan,
Объясните подробней - этот код в браузере на клиенте ?
Что он должен отправлять ?
|
|
04.06.2012, 22:28
|
Интересующийся
|
|
Регистрация: 04.06.2012
Сообщений: 11
|
|
код лежит на сервере.
я с JS не сталкивался к сожалению до этого
Задача состоит в том что:
Собираю робота, до этого управление делал через програмку накатанную на делфи, с усовершенствованием железа (добавился модуль Ethernet) переделываю управление через Инет
по идее есть область вида римской единицы, блоки разбиты следующим образом : Центр - Стоп , верхний центральный блок - газ , Верхний левый - поворот влево, верхний правый - поворот вправо, ну и так же назад.
мохги на роботе считывают по средством ГЕТ запросов показания с БД и очишают ... на деле Выглядит так - Навели на область ГАЗ - запись в базу с значением 255 (к примеру, там не важно ), железка на роботе обратилась к скрипту на вэб сервере считала данные - выполнила - очистила таблицу .... все реализовано кроме записи данных в БД по наведению на область ... буду рад любым советам.
|
|
05.06.2012, 00:01
|
Интересующийся
|
|
Регистрация: 04.06.2012
Сообщений: 11
|
|
Сообщение от 9xakep
|
Я бы использовал ajax, каждый раз отправляешь ajax-запрос, и в php его обрабатываешь.
|
а можете привести пример, каким образом это реализовывается ?
|
|
05.06.2012, 00:43
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Сообщение от drenadan
|
по идее есть область вида римской единицы, блоки разбиты следующим образом : Центр - Стоп , верхний центральный блок - газ ,
|
Если есть область - то должен быть код
Пока трудно даже сказать, каким местом js cюда, если непонятно каким макаром и где это прописано
Если это браузерная вещь - должен быть некий HTML код вашего рабочего стола управления
|
|
05.06.2012, 09:28
|
|
сегодня в 12:34|Комментир
|
|
Регистрация: 12.04.2011
Сообщений: 1,180
|
|
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...
}
// того вы сделали тоже самое, этого хотели?
__________________
оляля, ололо
|
|
05.06.2012, 12:49
|
Интересующийся
|
|
Регистрация: 04.06.2012
Сообщений: 11
|
|
Сообщение от 9xakep
|
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>
Последний раз редактировалось drenadan, 05.06.2012 в 14:58.
|
|
05.06.2012, 15:14
|
|
сегодня в 12:34|Комментир
|
|
Регистрация: 12.04.2011
Сообщений: 1,180
|
|
А это нормально? О_о:
if($_POST['c=1']) { // если запрос был осуществлен..
<?php
// Данные для mysql сервера
$dbhost = "localhost"; // Хост
$dbuser = "root"; // Имя пользователя
$dbpassword = ""; // Пароль
$dbname = "database"; // Имя базы данных
Может быть if($_POST['c']) {} запихнете в php?))
__________________
оляля, ололо
|
|
05.06.2012, 15:44
|
Интересующийся
|
|
Регистрация: 04.06.2012
Сообщений: 11
|
|
Сообщение от 9xakep
|
А это нормально? О_о:
if($_POST['c=1']) { // если запрос был осуществлен..
<?php
// Данные для mysql сервера
$dbhost = "localhost"; // Хост
$dbuser = "root"; // Имя пользователя
$dbpassword = ""; // Пароль
$dbname = "database"; // Имя базы данных
Может быть if($_POST['c']) {} запихнете в php?))
|
да, моя тупость , прошу извинить.спасибо Вам что ткнули носом.
теперь при уходе с области я могу таким же образом через mouseOut отправить запрос и если он осуществлен выполнить php скрипт очистки таблицы в БД ?
|
|
|
|