2016-10-10 5 views
-1

私の問題を解決するために来てくれてありがとう!PHPで変数を更新する方法をエコーする方法

私の問題は、表示をPHPを使用してページ上の変数にしたいと思います。この変数は毎秒更新されます。変数の変更に合わせてこのページを更新したいと思います。 私はwhileループを使ってみましたが、これは変数を出力し続けています。私はあなたに警告します、私はあまりPHPに精通していない、そしておそらく私にあなたの答えを説明しなければならないでしょう、たくさん。申し訳ありませんが、私はコードサンプルを含んでいませんでした。私は本当にこの質問に必要とは思わなかった。私がいくつかのサンプルを提供したいなら、私は思っています。私の質問に答えることを検討してくれてありがとう! :)

+10

:だから、例えば、あなたはhello.phpに1秒ごとに実行し、このコードを必要とする前から同じdiv要素に結果を設定したい場合最終結果はクライアント(通常はブラウザ)に転送されます。ライブリロードが必要な場合は、javacript(ブラウザで実行)を使用して、サーバー側のPHP(サーバー上で実行される)を新しい値としてポーリングし、ページに挿入したいと思う可能性があります。 – JimL

+1

あなたがしようとしていることが助けになるでしょう。しかし、AJAXリクエストは、あなたが何をしているのかを後で行うでしょう。 –

+0

あなたはajaxを使用します。 PHP変数値を返すPHPファイルを作成する必要があります。 AJAXのリクエスト/レスポンスを作成して処理する方法については、ここをクリックしてください:https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest –

答えて

1

あなたはPHPの基本で実装するのが簡単ではないことをしようとします。 PHPはサーバー側で生成された後、結果をクライアントに返します。 (あなたのブラウザ)。 HTMLコードを動的に変更したい場合は、JavaScriptを見てください。これにより、ページをリロードせずに動的に更新することができます。 (例えば、ユーザーがあなたのケースで、ボタンやタイマーを押す):

var i = 1; 
 

 
// update site content every second 
 
setInterval(function() { 
 

 
    // get div with id example 
 
    var myElement = document.getElementById('example'); 
 

 
    // count up by 1 
 
    i++; 
 

 
    // update content 
 
    myElement.innerHTML = 'Zahl ' + i; 
 

 
}, 1000);
<html> 
 

 
<head> 
 
    <meta charset="UTF-8"> 
 
    <title>JavaScript test</title> 
 
</head> 
 

 
<body> 
 
    <div id="example">Zahl 1</div> 
 
</body> 
 

 
</html>

を今、あなたはPHPスクリプトが毎秒あなたがAJAXと呼ばれる何かを必要とする実行したい場合。 PHPは、前に実行さ

var i = 1; 
 

 
// update site content every second 
 
setInterval(function() { 
 

 
    // run function loadDoc every second 
 
    loadDoc(); 
 

 
}, 1000); 
 

 
function loadDoc() { 
 
    var xhttp = new XMLHttpRequest(); 
 
    xhttp.onreadystatechange = function() { 
 
    // get div with id example and update HTML 
 
    document.getElementById("example").innerHTML = this.responseText; 
 
    }; 
 
    xhttp.open("GET", "hello.php", true); 
 
    xhttp.send(); 
 
}
<html> 
 

 
<head> 
 
    <meta charset="UTF-8"> 
 
    <title>JavaScript test</title> 
 
</head> 
 

 
<body> 
 
    <div id="example">Zahl 1</div> 
 
</body> 
 

 
</html>

+1

omgありがとうございました!あなたは生きものです! – Jake

+0

私は助けることができたことをうれしく思っています:) –

+0

@ジェイクはここにRiggsFollyが何を書き留めたか注意してくださいhttp://stackoverflow.com/questions/39966053/how-to-echo-updating-variable-in-php#comment67212082_39966053もしあなたがajaxポーリングの代わりにWebソケットを使用して調べたい複数の同時ユーザー – JimL

0

更新された変数が毎回ブラウザに表示されるようにするには、クライアントをリロードする必要があります。 PHPコードで変数が更新されたら、同じページにリダイレクトすることでこれを行うことができます。

クライアント側でAjaxを使用することもできます。クライアント側では、サーバーに変数の値を取得する要求を継続して送信し、ブラウザに出力します。

+0

http://stackoverflow.com/questions/39966053/how-to-echo-updating-variable-in-php#comment67212082_39966053 – RiggsFolly

関連する問題