2017-04-23 10 views
-1

私はAJAXリクエストの基本的な考え方を持っていますが、本当に必要なのは、データを取得した直後にすべてのmysqlクエリー結果が終了するのを待たずに応答を送信することです。これを行う方法はありますか?アイデアを教えていただけますか?すぐに返信するPHP Jquery AJAX

私が本当に想像することは、たとえば次のとおりです。

文書の準備ができたら、その後、クライアントは、データベース内のすべてのリストの要求を送信しなければなりません。 サーバ側のPHPがデータを取得している間に、行をjsonとして送信し、サーバ側がもう行をフェッチできなくなるまで、クライアントはそれらの応答を解析し続けます。

可能ですか?もしそうなら、アイデアはありますか?

+0

あなたは何らかのストリームについて話していますか? – FirstOne

+0

あなたは、最初のajaxコール応答で別のajaxコールを即座に送信したいとお考えですか? –

+0

@FirstOneうん:) –

答えて

-1

私はこれのための小さなコードを持っています。あなたは受け入れるかもしれません!

はJQuery:

<script> 

    $(document).ready(function() { 
     view(); 
    }); 

    function register() 
    { 
     var f = $('#fname').val(); 
     var l = $('#lname').val(); 

     $.ajax({ 
      url:'index.php/control/insert', 
      data :{fname : f, lname : l}, 
      type:'post', 
      success:function(msg){ 
       return view(); 
      } 
     }); 
    } 

    function view() 
    { 
     $.ajax({ 
      url:'index.php/control/show', 
      data :{}, 
      type:'post', 
      success:function(msg){ 
       $('#table').html(msg); 
      } 
     }); 
    } 
</script> 

HTMLフォーム:MySQLの機能のための

<form action="" method="post"> 
    <table align="center" border="11"> 
     <tr> 
      <td>First name</td> 
      <td><input type="text" name="fname" id="fname" /></td> 
     </tr> 
     <tr> 
      <td>Last Name</td> 
      <td><input type="text" name="lname" id="lname" /></td> 
     </tr> 
     <tr> 
      <td colspan="2"><input type="button" id="submit" name="submit" onclick="register()" value="Register"></td> 
     </tr> 
    </table> 
</form> 

マイコントローラー:

public function insert() 
{ 
    $sql = "INSERT INTO MyGuests (firstname, lastname) VALUES ('".$_REQUEST['fname']."', '".$_REQUEST['lname']."')"; 

    if ($conn->query($sql) === TRUE) { 
     echo "New record created successfully"; 
    } 
} 
public function show() 
{ 
    $sql = "SELECT * FROM MyGuests"; 

    if ($data = $conn->query($sql) === TRUE) { 
     echo "New record created successfully"; 
    } 

    echo "<br><table border='1' align='center'> 
      <tr> 
       <th>Firstname</th> 
       <th>Lastname</th> 
      </tr>"; 
      foreach($data as $s) 
      { 
       echo "<tr><td>".$s->fname."</td>"; 
       echo "<td>".$s->lname."</td></tr>"; 
      } 
    echo "</table>" ; 
} 

コードは、これはあなたの条件のためのサンプルでテストされていないことを確認し、意識したコール即時機能を目指す。ここでは、データベースにデータを挿入した直後にview()関数を呼び出しました。

+0

Ooooh。私は今あなたの考えを得ると思います。ありがとう:) –

関連する問題