[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Уведомление о новом заказе
Страницы: 1, 2, 3
kuzroman
давай рассмотрим тестовый пример, то что тебе нужно сделать.

1)Во первых давай подключим jquery (если его еще нет на сайте)
добавь <script src="http://code.jquery.com/jquery-1.9.0.js"></script> в head

2) так же добавь на страницу

<script>
setInterval(function(){
$.post(
"order.php",
{
param1: "param1",
param2: 2
},
function (data) {
console.log(data)
}
);
}, 2000);
</
script>




3)теперь создай order.php
в нем только

<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>


4) открой chrom, нажми f12, перейди вкладку console.

console.log(data) из пункта 2 будет выводить информацию в консоль (с ней удобней работать чем с alert() )




_____________
kuzroman@list.ru
kuzroman
Мне нужно понять твой уровень, мне кажется проблема в том что ты не работал с ajax и js.
Я привел простой пример асинхронной передачи данных.

Если с этим понятно то могу продолжить.

_____________
kuzroman@list.ru
WisesT
в All пишет
XHR finished loading: "http://192.168.1.165/order.php". jquery-1.9.0.js:8475
{"a":1,"b":2,"c":3,"d":4,"e":5} alert.php:15
XHR finished loading: "http://192.168.1.165/order.php". jquery-1.9.0.js:8475
{"a":1,"b":2,"c":3,"d":4,"e":5} alert.php:15
XHR finished loading: "http://192.168.1.165/order.php". jquery-1.9.0.js:8475
{"a":1,"b":2,"c":3,"d":4,"e":5} alert.php:15
XHR finished loading: "http://192.168.1.165/order.php". jquery-1.9.0.js:8475
{"a":1,"b":2,"c":3,"d":4,"e":5}

в logs
{"a":1,"b":2,"c":3,"d":4,"e":5} alert.php:15
{"a":1,"b":2,"c":3,"d":4,"e":5} alert.php:15
{"a":1,"b":2,"c":3,"d":4,"e":5} alert.php:15
{"a":1,"b":2,"c":3,"d":4,"e":5}


P.S. Как я понимаю, еслиподключать вот так
<script src="http://code.jquery.com/jquery-1.9.0.js"></script>

Пропал инет - скрипт не работает?
WisesT
Цитата
Если с этим понятно то могу продолжить.

Продолжайте, пожалуйста. Мне нужна помощь.
kuzroman
Ок
http://t.filmsa.ru/
здесь рабочая версия
Будут вопросы задавай.

_____________
kuzroman@list.ru
kuzroman
Цитата
P.S. Как я понимаю, еслиподключать вот так
<script src="http://code.jquery.com/jquery-1.9.0.js"></script>
Пропал инет - скрипт не работает?


Именно, точнее инет пропасть не может а вот сервер рухнуть легко (хотя это бывает крайне редко).
Поэтому можешь скачать последнюю версию jQuery с оф сайта на свой сервер.
или просто пройти по ссылке http://code.jquery.com/jquery-1.9.0.js и скопировать содержимое к себе.

_____________
kuzroman@list.ru
WisesT
/ajax/name.php
<?php
// Устанавливаем соединение с базой данных
include "../config.php";




$arr = mysql_num_rows( mysql_query("SELECT * FROM zakazy WHERE `na_kogda`=CURDATE()"));

echo json_encode($arr);

?>

/js/testAjax.js
var nameSite = {}; // корневой namespace (пространство имен)

nameSite.api = {}; // namespace для ajax запросов

/* здесь описываем запросы к серверу */

nameSite.api.nameMethod = function () {
$.post(
"ajax/name.php",
{
param1: "param1"
},
function (data) { // data содержит массив с данными
console.log(1, data);
nameSite.drawResult(data);
}, 'json' // обязательно указать чтобы вернул json иначе вернет string
);
};

/* вывести на экран */
nameSite.drawResult = function (data) {
console.log(2, data);
// а здесь этот массив используем
console.log( 3, data ); // используй для проверки в консоли
$('.j_yourClass').html(data);
};

/* события описываем здесь */
nameSite.events = function () {
$('body').on('click', '.j_click', function () {
nameSite.api.nameMethod();
})
};



// $(function () {}); выполнится после загрузки страницы, кодга php отработал, отдал результат и вывел на страницу
$(function () {


nameSite.events();

// раскоментируй, укажи время и будет вызываться в интервале
setInterval(function(){
nameSite.api.nameMethod();
}, 10000);

});

out_today.php
<head>
<script
src=\"http://code.jquery.com/jquery-latest.js\"></script>
<script src=
\"js/testAjax.js\"></script>
</head>

<body>
<div>
На самом деле заказов:
<span class=
\"j_yourClass\"></span>
</div>




//заношу в переменную количество заказов, кторое был в момент загрузки страницы.
$count = mysql_num_rows ( mysql_query ("SELECT * FROM zakazy WHERE `na_kogda` = CURDATE()"));
echo '<input type="hidden" id="order" value="'.$count.'">';
//Вывожу колличество для сотрудников.
echo "<p>Всего заказов (сегодня) - ";
echo mysql_num_rows( mysql_query("SELECT * FROM zakazy WHERE `na_kogda`=CURDATE()"));



Изначально вся эта тема создавалась для решения вот какой задачи.

Уведомить коем-то образом, что появился новый заказ.
Что-то вроде всплывающего окна с фразой "Есть новый заказ!" и кнопкой обновления страницы.
Верх удобства - сопровождение этого события каким-то звуком.

Я так понимаю, это нужно реализоывать сравнивая кол. заказов.
Но я храню в $count а js присылает в <span class=\"j_yourClass\"></span>

Как быть?

П.С. Огромное спасибо за организованый пример.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.