[JQ, PHP, MySQL] Счетчик времени

Discussion in 'PHP' started by Indev, 9 Aug 2012.

  1. Indev

    Indev New Member

    Joined:
    23 Dec 2011
    Messages:
    59
    Likes Received:
    3
    Reputations:
    0
    Здравствуйте! Есть 30 полей в базе (15 action, 15 action_time):
    ---------------------------
    action - id действия
    action_time - время окончания действия
    action2
    action2_time
    ---------------------------
    и т. д.
    Получилось сделать вывод одного действия в счетчик, как сделать одновременный вывод двух действий, причем они могут быть из любого поля. Например:
    1 действие: поля action3 и action3_time
    2 действие: поля action5 и action5_time

    Мой код (timing.php - файл со скриптом синхронизации времени):
    PHP:

    $id = $_SESSION['id'];
    include("bd.php");
    $q = mysql_query("SELECT action, action_time FROM action WHERE id = '$id'");  
    $arr = mysql_fetch_array($q);
    $time  = time();
    if ($arr['action'] == 1)
    {
    if ($arr['action_time'] <= $time)
    {
    $result = mysql_query("UPDATE action SET action = 0, action_time = 0 WHERE id = '$id'");
    $result = mysql_query("UPDATE tutorial SET task = 1.3 WHERE id = '$id'");
    echo '<meta http-equiv="refresh" content="0; url=index.php">';
    }
    }
    ?>
    <script type="text/javascript">                 
    var finish = <?PHP echo $arr[action_time].';';?>  
    var current = finish - <?PHP echo time();?>;
    var next = current - 10;
    var nexttask = 1.3;
    var id = <?PHP echo $id;?>;
    var interval = setInterval(Timer,1000);  
    function Timer()  
    {
    current--;  
    document.getElementById('container').innerHTML = 'Включение питания... Осталось: ';  
    document.getElementById('container').innerHTML += current;  
    if (current == next)
    {
    $.post("timing.php", {time: current, id: id},  function(data){
    current = data;
         } );  
    next = current - 10;  
    if (next < 0)
    {
    next = 0;
    }
    }
    if (current <= 0)
    {
    document.getElementById('container').innerHTML = 'Питание включено! <br> <a class = next>Продолжить</a>';  
    $("a.next").click(function(){
    $.post("timing.php", {task: nexttask, id: id});
    var interval = setInterval(Timer2,1000);  
    function Timer2()  
    {
    window.location.href="index.php";
    }
    });
    }
    }
    </script>
     
    #1 Indev, 9 Aug 2012
    Last edited by a moderator: 9 Aug 2012
  2. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Indev
    Сократить количество столбцов до двух-трех и выводить с помощью цикла
     
    _________________________
  3. Indev

    Indev New Member

    Joined:
    23 Dec 2011
    Messages:
    59
    Likes Received:
    3
    Reputations:
    0
    Спасибо всем, кто ответил в личку! Проблема решена!
     
Loading...
Similar Threads - MySQL Счетчик времени
  1. GAiN
    Replies:
    3
    Views:
    7,575