Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: обратный отсчет на js

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
ridvik
Отправлено: 11 Мая, 2012 - 19:13:27
Post Id


Частый гость


Покинул форум
Сообщений всего: 244
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)

[+]


Всем добрый вечер. Собственно такая проблема. Как мне сделать обратный отсчет на js, что бы данные брались из бд MYSQL. Просмотрел много сайтов, скачивал и разбирал много примеров, не чего не помогло... Во всех примерах дата вписывается в файл, а мне надо сделать что бы бралось из бд... Помогите пожалуйста организовать такую функцию...
 
 Top
sKaa
Отправлено: 11 Мая, 2012 - 19:25:21
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


Помог: 25 раз(а)

[+]


Ну тебе потребуется :
1) Javascript framework (jQuery), сам нагуглишь, сам мануал скуришь как запилить ее на страницу
2) Далее, понадобится пхп файл, который будет обрабатывать запрос джаваскрипта, запрашивать дату из базы (mysql_query("SELECT DATE()") ) .. ну конечно проще брать дату из пхп, функцией time() - которая вернет не дату, а метку времени в секундах - потом проще будет. Конечно тут нужно решить каким образом возвращать из пхп в джаваскрипт полученные данные, я бы рекомендовал JSON, но это опять маны курить и курить, для начала пойдет обычный echo time(); в скрипте, ну или значение из базы вместо функции time() если же ты решишь не слушать меня и твердо уверен что время нужно получать строго в базе.
3) Такой скрипт на странице.

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. <script>
  3. var timer = setInterval(function() { $.get('tvoi.php?skolko_vremya', {}, function(e){
  4.    alert(e);
  5.   } }, 2000);
  6.  
  7. </script>


Можешь приступать Улыбка
(Добавление)
Тут еще сам собою напрашивается вопрос, что за дата именно тебе нужна, важно знать, что в бд(mysql) можно обычным :
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT DATE(); // - Запрос вернет текущую дату гг-мм-дд
  3. SELECT CURTIME(); // - Запрос вернет текущее время чч-мм-сс
  4. SELECT CURRENT_TIMESTAMP(); // - Запрос вернет UNIX TIMESTAMP - грубо говоря, если не углубляться - это десятизначное число, количество секунд которое прошло с начала эпохи юникс, во многих языках существуют собственные инструменты для преобразования этой метки времени в любой формат даты и времени, что душе угодно. в пхп например это функция date где в качестве второго необязательного аргумента нужно указать это самое десятизначное число.
  5.  

Вопрос в том, какую дату ты будешь получать из базы, нужно будет или нет ее преобразовывать как-то в числовое значение, чтобы можно было как-то вычислять +- N секунд, и самое главное я вот даже сам сейчас хз как сделать так, чтоб javascript умудрился конвертировать обратно unix timestamp в привычный дня нас вид гг-мм-дд чч:мм:сс

Имхо все вычисления нужно проводить строго на стороне сервера, а значит в данном случае пхп, а с помощью ajax периодически запрашивать новое значение и обновлять.

(Отредактировано автором: 11 Мая, 2012 - 19:39:49)

 
 Top
ridvik
Отправлено: 11 Мая, 2012 - 21:05:29
Post Id


Частый гость


Покинул форум
Сообщений всего: 244
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)

[+]


sKaa весьма благодарен за вашу помощь, завтра посижу покумекаю.. у меня вот есть функция, написана на пхп. берет данные из бд и отсчитывает время то есть все четко... но вот как к этой функции прикрутить js время само обновлялось не после перезагрузки страницы, а сразу... я понял то что надо прикрутить как-то setinterval или еще как-то не помню сейчас, можно это как-то осуществить???
 
 Top
sKaa
Отправлено: 11 Мая, 2012 - 21:21:54
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


Помог: 25 раз(а)

[+]


Ну я тебе написал, на той самой странице где необходимо с завидной регулярностью обновлять твои данные необходимо подключить js library : jQuery,
далее, где нибудь в конце хтмл скелета твой страницы написать что-то типо :


CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $(document).ready(function() {
  3.   var timer = setInterval(function() {
  4.        $.get('tvoi.php?skolko_vremya', {}, function(e){
  5.              alert(e); // Только вместо alert(e) нужно как-то тебе выделить элемент страницы-виновник торжества и убрать слеши комментов у нижеследующей строки
  6.              // $('#timeoclock').html(e);
  7.        }
  8.    }, 2000);
  9. });
  10.  
  11.  

(Отредактировано автором: 11 Мая, 2012 - 21:22:37)

 
 Top
ridvik
Отправлено: 12 Мая, 2012 - 07:50:19
Post Id


Частый гость


Покинул форум
Сообщений всего: 244
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)

[+]


sKaa, спасибо... сегодня будемс пробовать...
 
 Top
ridvik
Отправлено: 07 Июня, 2012 - 19:47:49
Post Id


Частый гость


Покинул форум
Сообщений всего: 244
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)

[+]


что-то не получается у меня.... не могли бы полностью готовый вариант дать?? очень надо помогите плиз....
 
 Top
tuareg
Отправлено: 07 Июня, 2012 - 20:38:22
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




Господа, а Вам не кажется, что делать отсчет таким образом это изврат? Не лучше один раз при загрузке страницы дернуть данные, а уже потом чистым js их отсчитывать?
 
 Top
ridvik
Отправлено: 08 Июня, 2012 - 10:09:01
Post Id


Частый гость


Покинул форум
Сообщений всего: 244
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)

[+]


tuareg как это реализовать?? если знаете подскажите пожалуйста... я просто в js полный 0....
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB