За последние 24 часа нас посетил 22621 программист и 1277 роботов. Сейчас ищут 820 программистов ...

Как сделать время ожидания ? После нажатия на Кнопку действия !

Тема в разделе "PHP для новичков", создана пользователем AHTICEPTIK, 3 май 2016.

  1. AHTICEPTIK

    AHTICEPTIK Новичок

    С нами с:
    3 май 2016
    Сообщения:
    1
    Симпатии:
    0
    Привет всем . Помогите пожалуйста , я написал php код, но совершенно не знаю как сделать временное обновления ну в примере опишу это так
    При нажатии какого то действия , например как в коде (Отдохнуть) у вас появляется time время которые по истеканию разрешает еще раз отдохнуть :0
    PHP:
    1. <?php
    2. require_once ('../system/func.php');
    3. require_once ('../system/header.php');
    4.  
    5.  
    6.  
    7.    
    8. auth(); // Закроем от авторизированых
    9.  
    10.  
    11.  
    12. echo '<div class="link"> <a href="/son" > Спать</a></div>';
    13.  
    14.  
    15. if($user['health'] < $user['max_health']) {
    16.  
    17.  
    18.  
    19.         mysql_query("UPDATE `users` SET `health` = `health` + 5 WHERE `id` = '".$user['id']."'");
    20.  
    21.          
    22. }
    23.          
    24.  
    25. if($user['health'] > $user['max_health']) {
    26.  
    27.     mysql_query('UPDATE `users` SET `health` = "'.$user['max_health'].'" WHERE `id` = "'.$user['id'].'"')or die(mysql_error());
    28.  
    29.       }
    30.  
    31.  
    32.  
    33.  
    34. if($user['energy'] < $user['max_energy']) {
    35.  
    36.  
    37.  
    38.         mysql_query("UPDATE `users` SET `energy` = `energy` + 5 WHERE `id` = '".$user['id']."'");
    39.  
    40.          
    41. }
    42.          
    43.  
    44. if($user['energy'] > $user['max_energy']) {
    45.  
    46.     mysql_query('UPDATE `users` SET `energy` = "'.$user['max_energy'].'" WHERE `id` = "'.$user['id'].'"')or die(mysql_error());
    47.  
    48.       }
    49.  
    50.  
    51.        
    52. require_once ('../system/footer.php');
    53. ?>
    Пожалуйста помогите мне сделать данную функцию :) Просто она очень нужна мне )
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    как можно нажать действие? можно нажать кнопку действия но не само действие.
    может наоборот?

    вощем добавь поле с временем действия куда пиши ожидаемую дату-время "истекания". ну а в запросы добавь дополнительную проверку наступления этого "истекания".
    и переходи с mysql на mysqli или pdo.
    и делай один запрос вместо вот этих четырех условных. можно динамически сформировать запрос, подставив нужные данные, либо всю логику сразу описать на языке структурированных запросов.
    ну и если всё же оставлять как есть - подтянуть иф-что-то-больше к иф-что-то-меньше и сделать элс-ифом к первому условию. так код нагляднее будет.
     
  3. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.076
    Симпатии:
    1.237
    Адрес:
    там-сям
    @AHTICEPTIK, в отдельном поле таблицы сохраняй время когда произошло действие. При попытке выполнить действие проверяй это поле, пустое ли оно и если непустое, то не слишком ли мало времени прошло с него.