За последние 24 часа нас посетили 22490 программистов и 1145 роботов. Сейчас ищут 685 программистов ...

Как сделать таймер времени на сайте?

Тема в разделе "JavaScript и AJAX", создана пользователем Bridun, 4 дек 2018.

  1. Bridun

    Bridun Новичок

    С нами с:
    2 окт 2017
    Сообщения:
    71
    Симпатии:
    1
    Подскажите как прикрутить к php javascript . Есть код и он работает, как к нему прикрутить таймер времени javascript такого авто обновления чтоб обновлять время и сделать активную/не активную ссылку

    внизу даю скрин увидел винтернете это такая крутилка видео
    yoituyiruorpuit.png

    PHP:
    1. time_table.dat такого вида
    2.  
    3. 1|text|link|04|12|2018|10:00:00|9:55:00|10:30:00|
    4. 2|text|link|04|12|2018|16:00:00|16:55:00|17:30:00|
    5. 3|text|link|04|12|2018|19:00:00|18:55:00|19:30:00|
    6.  
    7. date_default_timezone_set('Europe/Kiev');//timzone
    8.  
    9.  
    10.     $data =  file("time_table.dat");
    11.  
    12.   foreach($data as $rows) {
    13.  
    14.     $elem = explode("|", $rows);
    15.     if (!strripos($rows, "|")) continue;
    16. ///////////////////////////////////////////////////////////////
    17. $met = $elem[3].'-'.$elem[4].'-'.$elem[5].' '.$elem[7];
    18. $metTS = strtotime($met);
    19. //echo strftime("%d-%m-%Y %H:%M:%S", $metTS).'  ';
    20. //echo strftime("%d-%m-%Y %H:%M:%S");
    21. $sub = $metTS - time();
    22.  
    23.  
    24. $sub = abs($sub);
    25. $days = (int)($sub / (24*60*60));
    26. $hours = (int)(($sub - $days * 24 * 60 * 60) / (60*60));
    27. $min = (int)(($sub - $days * 24 * 60 *60 - $hours * 60 * 60) / 60);
    28. $sec = $sub - $days * 24 * 60 *60 - $hours * 60 * 60 - $min * 60;
    29. /////////////////////////////////////////////////////////////////////
    30.        $start = $elem[7];
    31.        $end = $elem[8];
    32.        $enter = '';
    33.      $cur_time = strftime('%H:%M:%S', time());
    34.        
    35.      if ($cur_time > $start && $cur_time < $end){
    36.      $enter = '<a href="'.$elem[2].'" target="_blank">Активная</a></div>';
    37.      }else{
    38.      $enter = '<a href="#">Неактивная</a>';
    39.      }
    40. ///////////////////////////////////////////////////////////////////
    41.    
    42. echo'<table border="1" align="center" cellpadding="0" cellspacing="0" width="300">
    43.  
    44.  <tr>
    45.    <td valign="top" align="center"  width="150">
    46.        '.$elem[3].'/'.$elem[4].'/'.$elem[5].'-'.$elem[6].'<br>
    47.    '.$elem[1].'
    48.    </td>
    49.    <td valign="top" align="center"  width="150">  
    50.       '. $hours.':'. $min.':'. $sec.'
    51.        <br>'. $enter .'
    52.    </td>
    53.  </tr>
    54. </table>';
    55.   }
     
  2. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    ajax запрос
    Код (Javascript):
    1. // 1. Создаём новый объект XMLHttpRequest
    2. var xhr = new XMLHttpRequest();
    3.  
    4. // 2. Конфигурируем его: GET-запрос на URL 'phones.json'
    5. xhr.open('GET', 'phones.json', false);
    6.  
    7. // 3. Отсылаем запрос
    8. xhr.send();
    9.  
    10. // 4. Если код ответа сервера не 200, то это ошибка
    11. if (xhr.status != 200) {
    12.   // обработать ошибку
    13.   alert( xhr.status + ': ' + xhr.statusText ); // пример вывода: 404: Not Found
    14. } else {
    15.   // вывести результат
    16.   alert( xhr.responseText ); // responseText -- текст ответа.
    17. }
    и setTimeout для обновления
    Код (Javascript):
    1. function func() {
    2.   ajax
    3.   setTimeout(func, 10000);
    4. }
    5.  
    6. function ajax() {
    7. var xhr = new XMLHttpRequest();
    8. xhr.open('GET', 'time_table.php', false);
    9. xhr.send();
    10. if (xhr.status == 200) {
    11.    console.log(xhr.responseText);
    12. }
    13. }
    это только пример, за работоспособность не ручаюсь=)
     
    Bridun нравится это.