2

私はJavascript、特にAjaxにかなり慣れていないので、ご容赦ください...

新しい行を挿入した後にテーブルを更新したいのですが、Ajax で html テーブルをまとめて出力する代わりに、PHP mysql からすべてのデータを収集し、それを既存のテーブルに挿入することをお勧めします。ループ。

while()これは、配列を使用してデータのさまざまな部分を挿入できるように、PHP と関数を使用して通常行う方法です。例えば"$mem['Name']"

    $mems = mysql_query($sql,$con);
    while($mem=mysql_fetch_array($mems)){
                $lmc++;


                            echo '<tr class="data">';
                                echo '<td class="index">'.$lmc.'</td>';          
                                echo '<td class="name">'.$mem['Name'].'</td>';
                                echo '<td class="arcid">'.$mem['ArcID'].'</td>';
                                echo '<td class="type">'.$mem['Type'].'</td>';
                                echo '<td class="role">';
                                echo '<input style="width:100%;" type="text" name="art_realname" id="art_realname" class="field" value="'.$mem['Role'].'"   tabindex="1" />';
                                echo '</td>';
                            echo '</tr>';
                        };

最初にPHPファイル内のすべてのデータを収集して配列に入れ、次にそれをAJAXに送り返し、最後に実際のページでJavascriptを使用してループセクションを実行できるように、AJAXを使用する方法はありますか?そこのテーブルに挿入しますか?

4

1 に答える 1

1

このソリューションにはjQueryが必要ですが、任意の JS フレームワーク/ライブラリを自由に使用できます。

mysql_*また、関数を使用することは、すぐに非推奨になるため、悪い考えであることを知っておく必要があります。

ajax.phpここで、サーバーに名前付きのスクリプトがあると仮定しましょう。いつもと同じ方法でデータベースにクエリを実行する必要がありますが、それをechoing する代わりに、変数に入れます。

<?php
/* your script here */
$data = ... /* data your query returned */

header ("Content-Type: application/json" );
echo json_encode ($data);
?>

次に、クライアント側で:

$.getJSON ( "ajax.php", function (data) {
   /* data is the $data from your PHP script */
});

あなたはばかではありません:)

于 2012-09-26T21:14:08.877 に答える