Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.06.2012, 22:07
Интересующийся
Отправить личное сообщение для drenadan Посмотреть профиль Найти все сообщения от drenadan
 
Регистрация: 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>


Уверен что в коде написана ересь полнейшая, не пинайте пожалуйста сильно.

В таком кособоком и кривом виде код отрабатывается только один раз (навели мышь, появилось картинка - записалось в бд)

по каждый последующий не работает, снова начинает работать только после обновления страницы.
Ответить с цитированием
  #2 (permalink)  
Старый 04.06.2012, 22:10
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

Я бы использовал ajax, каждый раз отправляешь ajax-запрос, и в php его обрабатываешь.
__________________
оляля, ололо
Ответить с цитированием
  #3 (permalink)  
Старый 04.06.2012, 22:12
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

drenadan,
Объясните подробней - этот код в браузере на клиенте ?
Что он должен отправлять ?
Ответить с цитированием
  #4 (permalink)  
Старый 04.06.2012, 22:28
Интересующийся
Отправить личное сообщение для drenadan Посмотреть профиль Найти все сообщения от drenadan
 
Регистрация: 04.06.2012
Сообщений: 11

код лежит на сервере.

я с JS не сталкивался к сожалению до этого
Задача состоит в том что:
Собираю робота, до этого управление делал через програмку накатанную на делфи, с усовершенствованием железа (добавился модуль Ethernet) переделываю управление через Инет

по идее есть область вида римской единицы, блоки разбиты следующим образом : Центр - Стоп , верхний центральный блок - газ , Верхний левый - поворот влево, верхний правый - поворот вправо, ну и так же назад.

мохги на роботе считывают по средством ГЕТ запросов показания с БД и очишают ... на деле Выглядит так - Навели на область ГАЗ - запись в базу с значением 255 (к примеру, там не важно ), железка на роботе обратилась к скрипту на вэб сервере считала данные - выполнила - очистила таблицу .... все реализовано кроме записи данных в БД по наведению на область ... буду рад любым советам.
Ответить с цитированием
  #5 (permalink)  
Старый 05.06.2012, 00:01
Интересующийся
Отправить личное сообщение для drenadan Посмотреть профиль Найти все сообщения от drenadan
 
Регистрация: 04.06.2012
Сообщений: 11

Сообщение от 9xakep Посмотреть сообщение
Я бы использовал ajax, каждый раз отправляешь ajax-запрос, и в php его обрабатываешь.
а можете привести пример, каким образом это реализовывается ?
Ответить с цитированием
  #6 (permalink)  
Старый 05.06.2012, 00:43
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от drenadan
по идее есть область вида римской единицы, блоки разбиты следующим образом : Центр - Стоп , верхний центральный блок - газ ,
Если есть область - то должен быть код
Пока трудно даже сказать, каким местом js cюда, если непонятно каким макаром и где это прописано

Если это браузерная вещь - должен быть некий HTML код вашего рабочего стола управления
Ответить с цитированием
  #7 (permalink)  
Старый 05.06.2012, 09:28
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 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...
}
// того вы сделали тоже самое, этого хотели?
__________________
оляля, ололо
Ответить с цитированием
  #8 (permalink)  
Старый 05.06.2012, 12:49
Интересующийся
Отправить личное сообщение для drenadan Посмотреть профиль Найти все сообщения от drenadan
 
Регистрация: 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.
Ответить с цитированием
  #9 (permalink)  
Старый 05.06.2012, 15:14
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

А это нормально? О_о:
if($_POST['c=1']) { // если запрос был осуществлен..
        <?php
        // Данные для mysql сервера
        $dbhost = "localhost"; // Хост
        $dbuser = "root"; // Имя пользователя
        $dbpassword = ""; // Пароль
        $dbname = "database"; // Имя базы данных

Может быть if($_POST['c']) {} запихнете в php?))
__________________
оляля, ололо
Ответить с цитированием
  #10 (permalink)  
Старый 05.06.2012, 15:44
Интересующийся
Отправить личное сообщение для drenadan Посмотреть профиль Найти все сообщения от drenadan
 
Регистрация: 04.06.2012
Сообщений: 11

Сообщение от 9xakep Посмотреть сообщение
А это нормально? О_о:
if($_POST['c=1']) { // если запрос был осуществлен..
        <?php
        // Данные для mysql сервера
        $dbhost = "localhost"; // Хост
        $dbuser = "root"; // Имя пользователя
        $dbpassword = ""; // Пароль
        $dbname = "database"; // Имя базы данных

Может быть if($_POST['c']) {} запихнете в php?))
да, моя тупость , прошу извинить.спасибо Вам что ткнули носом.

теперь при уходе с области я могу таким же образом через mouseOut отправить запрос и если он осуществлен выполнить php скрипт очистки таблицы в БД ?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста Flexo666 Элементы интерфейса 0 01.11.2011 20:43
помогите пожалуйста с регулярным выражением serhanters Общие вопросы Javascript 8 12.07.2011 19:17
Помогите пожалуйста девушке разобраться Feni4ka jQuery 10 26.04.2011 19:25
Помогите пожалуйста не могу вывести информацию из mysql Геворг Серверные языки и технологии 4 01.03.2011 20:24
помогите пожалуйста с скриптиком Len4ik Javascript под браузер 2 30.04.2010 20:10