Обновить с помощью Ajax / PHP - PullRequest
1 голос
/ 30 марта 2009

В дополнение к моему вчерашнему вопросу ( здесь ), я работаю над веб-страницей, в которой есть раздел, в котором отображаются «живые» данные заказа.

В верхней части моей веб-страницы расположены панели вкладок Spry. Одна из панелей содержит вызов include для отдельной созданной мной php-страницы (getOpenOrders.php). Он содержит запрос SQL для получения всех открытых ордеров, а затем помещает детали в таблицу.

В результате на панели Spry отображается таблица открытых ордеров. Какие шаги мне теперь нужно предпринять, чтобы обновлять каждые 15 секунд?

Ответы [ 3 ]

1 голос
/ 30 марта 2009
<META HTTP-EQUIV=Refresh CONTENT="15; URL=<?php print $PHP_SELF ?>">

Это должно быть между метками головы.

-или-

header('Refresh: 15');

Это должно быть до тега head и непосредственно после html-тега.

Как сказал balexandre, следует использовать другой метод. Тот, который не требует обращения к базе данных каждые 15 секунд для каждого пользователя, который подключен к сайту. Но, в любом случае, у вас есть ответ.

1 голос
/ 30 марта 2009

Вы действительно хотите вызывать базу данных каждые 15 секунд для каждого пользователя? это не перегрузка?

Я не говорю, что ваша база данных будет перегружена, но именно так вы не должны делать что-либо!

Отредактированный

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

потому что я не знаю, я дам вам ответ о том, что, вероятно, происходит.

Поскольку вы сказали, что вы новичок в мире ajax, давайте сделаем все проще, и чтобы не усложнять процесс, вы должны вернуть объект JSON и использовать его для повторного заполнения таблицы. :)

Итак, мы начнем с 2 кнопок (Предыдущая и Следующая), чтобы пользователь мог перемещать отображаемые данные (вы, вероятно, не хотите давать ему / ей 100 строк, чтобы увидеть их правильно?)


скажем, у вас есть 2 страницы, showData.php и getTable.php , в showData.php вам нужно будет загрузить jQuery (замечательно для этого) и добавить немного кода, но где таблица должна быть размещена, просто добавьте тег div с id = "myTable", потому что мы получим данные из файла getTable.php.

Файл getTable.php должен выводить только HTML-код таблицы со всеми данными, без html, body и т. Д. Идея состоит в том, чтобы добавить внутрь div с именем myTable весь код, сгенерированный getTable.php

Давайте представим, что getTable.php получает переменную страницы в queryString, которая скажет, какую страницу вы должны показать (чтобы использовать LIMIT в вашей базе данных MySQL или PostgreSQL)


Вы можете использовать плагин jQuery под названием datatables . Ведьма - один из моих вариантов, посмотрите его пример и какой маленький код вам нужно написать! просто используя плагин jQuery и Datatables.

Первое описание следует за jQuery.Load (), чтобы загрузить getTable.php и добавить в качестве дочернего элемента div и wold, сделайте это для предыдущей и следующей кнопок, передав строку запроса со страницей, запрошенной пользователем. Это просто, и вы можете увидеть сайт для этого, если вы предпочитаете использовать плагин DataTables, просто следуйте их примеру:)

если вам после всего этого понадобится помощь, напишите мне.

0 голосов
/ 30 марта 2009

Хотя balexandre делает очень хороший вывод, если вы решите, что вам нужно обновить, вы можете просто сделать что-то подобное в своем JavaScript:

window.onload = function( )
{
     setTimeout( 'window.location.refresh( )', 1500 );
}

(я не тестировал приведенный выше код, поэтому может потребоваться немного изменить синтаксис, но вы поняли)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...