JQuery всплывающее окно в реальном времени на основе возвращаемых значений PHP

У меня есть php-программа, которая вычислит разницу во времени и вернет значение в минутах.

для всплывающего сообщения я использую jGrowl

так что я хотел бы сделать, это получить возвращаемое значение и, если его менее 30 минут, отобразить сообщение jquery.

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

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

Ниже приведен код, который я использую для расчета разницы во времени

    function time($dbtime, $currtime)
    {
        //format year-month-day hour:min:secs
        $current = strtotime($currtime);
        $indb = strtotime($dbtime);
        $minits =  round(abs($current - $indb) / 60,2);

        return $minits;
    }

в настоящее время я выскакиваю только сообщения на дату

<script type="text/javascript">

        (function($){

            $(document).ready(function(){

                // jGrowl
                if ($.fn.jGrowl) {
                    // This value can be true, false or a function to be used as a callback when the closer is clciked
                            $.jGrowl.defaults.closer = function() {
                                console.log("Closing everything!", this);
                            };

                            // A callback for logging notifications.
                            $.jGrowl.defaults.log = function(e,m,o) {
                                $('#logs').append("<div><strong>#" + $(e).attr('id') + "</strong> <em>" + (new Date()).getTime() + "</em>: " + m + " (" + o.theme + ")</div>")
                            }               


                            <?php foreach ($dailies as $daily):?>
                            $.jGrowl("<?php echo $daily['calendars'][0]['Title']?>", { header: 'At <?php echo $daily['calendars'][0]['Start'];?>', sticky: true });


                            <?php endforeach;?>

                            $.jGrowl.defaults.closerTemplate = '<div>hide everything</div>';


                }

            });
        })(jQuery);

    </script>

1 ответ

Есть PHP-скрипт, который принимает переданные параметры, в этом случае два раза. Напишите скрипт для возврата результатов в формате JSON. Это та часть, которую, я полагаю, вы уже сделали. Если у вас нет результатов, возвращаемых в виде строки JSON, вы можете прочитать о JSON здесь.

На вашей веб-странице сделайте запрос с помощью javascript & ajax. Как правило, когда пользователь нажимает кнопку, отправляет информацию асинхронно в ваш php-скрипт, и когда ответ получен, отображают информацию для пользователя. Вы можете прочитать о Javascript и Ajax здесь.

Другие вопросы по тегам