2017-02-08 15 views
0

私はあなたが入力したユーザー名とメッセージを見ることができるこのwhileループを表示しています...しかし、メッセージが入力された後、ユーザーはページをリロードして見なければなりません。 whileループを実行してサイトを更新する方法はありますか?毎秒何かを実行するように設定したいのですか?毎秒whileループを実行します

 <?php 
include "connect.php"; 
$query = "SELECT * FROM messages"; 
$result = $con->query($query); 

if($result){ 

      while($row = $result->fetch_object()) 
      { 
       echo "<ul id = 'rutor'>"; 
       echo '<li class = "userlada">'.$row->username. "</li>"; 
       echo '<li class = "usertext">'.$row->message. "</li>"; 
       echo "</ul>"; 
      } 

} 
?> 

Iてるではないので、任意のヘルプは素晴らしいだろう!:)あなたが待っていると、そこにループを開始ので、もし

+2

Checkoutキーワード:Ajax https://pl.wikipedia.org/wiki/AJAX by pure PHPそれはできません... –

+2

javascript ajax。あなたは現在サーバーに表示されている最後のIDを送信する必要があります。サーバーは新しいIDがあるかどうかを確認し、新しいIDを送信しなければなりません。それらの結果をあなたのものに追加する必要があります。 – Dimi

+0

http://stackoverflow.com/questions/42106812/popup-window-to-display-result-from-php-with-javascript/42107302#42107302 – Soheyl

答えて

3

PHPは、サーバー側で、あなたのPHPのbrigetestブラウザはそれが完了するのを待つだけです。

これはJavascriptを調べる必要があります。

+0

だから私はオブジェクトをフェッチし、この仕事をするためにjavascriptでループする必要がありますか? –

+1

はい。簡単な方法は、['jQuery.load'](http://api.jquery.com/load/)と[' setTimeout'](https://developer.mozilla.org/en-US/docs)を一緒に使うことです/ Web/API/WindowOrWorkerGlobalScope/setTimeout)。 – Svish

+0

ループでajaxを送信する必要はありません。メッセージが変わったときに呼び出すだけで十分です。関数refreshUserList()で、ajax呼び出しを行います。 Cashbee

0

これは非常に人気のない意見であり、実際には役に立たないアプリケーションであり、恐ろしいことですが、200人以上の人がページを開くとサーバーがクラッシュする可能性があることが分かります。しかし...

はいこれはiframeで簡単に行うことができます。

これらのメッセージだけをサーバーするページを作成します。それを 'bad_practice.php'と呼ぶことができます。その後

ob_implicit_flush();//makes php NOT buffer and send data straight to screen 
$last_id=1234;//or keep track of it. 

while(true) 
{ 
$new_query=DB::Query("select * from messages where id> :last_id",array(":last_id"=>$last_id)); 
while($row=$new_query->fetch()) 
{ 
       echo "<ul id = 'rutor'>"; 
       echo '<li class = "userlada">'.$row->username. "</li>"; 
       echo '<li class = "usertext">'.$row->message. "</li>"; 
       echo "</ul>"; 
       $last_id=$row['id']; 
} 

sleep(1); 
} 

あなたのメインページ

<iframe src="bad_practice.php"> 

上のiframeを作成する必要がありますそして、あなたはの作業常に爽やかなリストを持っている必要があります:何がしたいことは、このようなあなたのコードを見て作るですもの。

+0

それは恐ろしいですが、確かに "仕事" – Svish

関連する問題