2012-02-04 2 views
1

В основном у меня есть серия таймеров обратного отсчета для аукционов на моем сайте. Я делаю это, сохраняя время окончания обратного отсчета в базе данных и использую javascript для создания обратного отсчета. мне просто интересно, как я могу заставить веб-сервер постоянно проверять, завершился ли обратный отсчет, а если есть, динамически изменить статус аукциона с «не закончено» до «завершено». Должен ли я иметь постоянный скрипт на моем веб-сервере? который продолжает запрашивать базу данных, чтобы проверить, достигнуто ли время окончания обратного отсчета?Динамическая проверка базы данных mySQL, чтобы узнать, прошло ли текущее время datetime в базе данных

p.s. im с использованием apache, mySQL и PHP

любые взгляды или помощь оцениваются!

Johnny

ответ

3

Постоянная проверка не будет масштабироваться вообще. Маловероятно, что время окончания изменится, поэтому вы можете просто доставить время окончания каждого аукциона на веб-страницу и использовать javascript для изменения статуса до завершения, когда это время достигнет.

Конечно, кто-то может редактировать javascript и изменять время окончания, но клиент предназначен только для отображения. Вы можете сделать один окончательный звонок на сервер в конце времени, чтобы проверить, был ли аукцион расширен. Сервер остается этим авторитетом. Любое подчинение по-прежнему необходимо проверять на время сервера, а не на том, что было отображено на компьютере пользователя.

0

Для меня логика идет как этот

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

Выше применяется только в том случае, если по какой-либо причине вы увеличиваете время окончания.

Если не чем вы можете полагаться только на JavaScript рассчитывать время для вас, и когда наступит время завершения со счетчиком яваскриптом просто сделать быстрый вызов AJAX для обновления базы данных (если требуются вообще)

Вы должен всегда загружать время окончания в вашу функцию javascript из вашей базы данных

Смежные вопросы