0

アイデアは、PHP 変数が変更されたときにプログレスバーの値を更新することです。

 <script>
    $(function() {
       $( "#progressbar" ).progressbar({
          value: <?php echo $_SESSION['value'] ?>
       });
    });
 </script>

私は試した:

    <?php 
        $_SESSION['value'] = 10; 
            sleep(2);
        $_SESSION['value'] = 30;
            sleep(2);
        $_SESSION['value'] = 50;
            sleep(2);
        $_SESSION['value'] = 70;
            sleep(2);
        $_SESSION['value'] = 90;        
    ?>

しかし、プログレスバーは最後の変数90のみに設定されています。変数の値が変化するたびに、5 回連続して更新したいと考えています。

jQueryとPHPでこれを行うことは可能ですか?

4

2 に答える 2

2

これは可能ですが、JavaScript が PHP セッションにアクセスできないため、AJAX のみを使用します。

JavaScript は、PHP ファイルの実行が終了した後にのみ実行されるため、最後の値で更新されるだけです。

JS:

setInterval(function() {
    $.get("currentProgress.php", function(data) {
        $("#progressbar").progressbar({
          value: data
        });
    });
}, 1000); // updates every second

PHP ファイル:

<?php
    // work out the current progress of whatever you're checking on
    echo $value;
?>

更新:たぶん、これはあなたが求めているものです: http://w3shaman.com/article/php-progress-bar-script - jQuery プログレス バーを含めるように簡単に変更できます。

于 2013-04-19T18:54:14.497 に答える
1

$_SESSIONサーバー側にのみ存在するため、ブラウザーが応答を受信する前に、5 つの段階すべてを通過します。送信される値は90.

サーバー側のプロセスを監視したい場合は、別のアプローチ、たとえば ajax を使用する必要があります。

于 2013-04-19T18:50:50.650 に答える