Помогите пожалуйста с записью в БД по событию мыши.
Добрый вечер.
Я Только начал изучать 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, время: 07:09. |