2009-05-20 12 views
0

私もPHPで生成されたテーブルをリロードしようとしています。jQuery - Reload table

テーブルは、IDを有する:#bookmarks

ユーザがボタンを押した後、テーブルは、コンテンツ+彼らは追加したデータを再ロードしなければなりません。 PHPの結果からすべてのデータを送信する方法がわからないので、ちょっと混乱しています。

答えて

0

具体的なヘルプについては、jEditableプラグインを参照してください。このプラグインは、データを編集する機能を提供します。データを収集して保存する方法についても説明します。

+0

編集が完了しました。テーブルのリロードだけです。 –

+0

私はjEditableを使用しました。ありがとうございます。 –

0

ユーザーがボタンを押すと、テーブルの読み込みに使用されたコードを呼び出す必要があります。 データは、最初からのデータ+ユーザーが追加したデータである可能性があります。また、アプリケーションの仕組みによっては、サーバーからデータを再取得することもできます。

もう少し情報があれば、明らかになる可能性がありますので、より具体的な回答をすることができます。

1
ポイントフォームで

  • AJAX要求を経由して戻ってPHPのページへのユーザーのデータを提出してください。 (jQueryフォームプラグインを見てください)
  • PHPページは、データを受け入れ、データをデータベースに挿入してから、何らかの形式でページに返信する必要があります(PHP関数json_encodeを使用してください)。
    • 応答が「拒否」またはユーザーのデータとの「受け入れられた」は、独自のシステムで必要とされるクリーンアップ、それらに戻った。
  • そして、AJAXの成功コールバックメソッドでは、使用する必要がありますどちらかjQueryを使用してデータをテーブルに追加するか、または拒否された理由を示すメッセージを表示します。
+0

で開始する2です、私はそれをスキップすることができ、余分なステップを見つけます簡単に。 –

+0

PHPのサーバー側で生成しますか?私はそこに多くの違いがあることを確認していない:a)より多くのデータを送信する、b)データレイヤー(PHP)にプレゼンテーションロジック(htmlタグ)を入れている。 – nickf

4

これはあなたのPHPは、テーブルのすぐに注入HTMLコードを返すと仮定している:あなたのページで

$("#update_button").click(function(){ 
    $("#mytable").load("/tools/getTable.php") 
}) 

あなたは、このようなDIVプレースホルダが必要になります。

<div id="mytable"></div> 

とあなたgetTable .PHPは、このようにHTMLをエコーバックする必要があります:

<table> 
    <tr> 
    <td>col1<td> 
    <td>col2<td> 
    <tr> 
</table> 
+0

テーブルが必要な他の機能があるので、実際にはできません。 –

+0

Jamesしかし、最初のリクエストでも、ファイル内に<?PHP include( "getTable.php")?>を実行できます。ページを開くと、テーブルがロードされ、AJAXそれは動的にフェッチされます – duckyflip

+0

もちろん!ありがとうduckyflip! –

0

まあテーブルが生成され、これを使用して:

<table id="bookmarks"> 
     <thead> 
      <tr class="table-top"> 
       <th>Thumbnail</th> 
       <th>Title/Description</th> 
       <th>Tags</th> 
       <th>Action</th> 
      </tr> 
     </thead> 
     <?php 
     $hID = userToID($_SESSION['username']); 
     $hQuery = mysql_query("SELECT * FROM linkz WHERE userid='$hID'") or die(mysql_error()); 
     while($hRow = mysql_fetch_array($hQuery)) { 
      echo "<tr class='link'><td><img src='http://www.thumbshots.de/cgi-bin/show.cgi?url=".$hRow["location"]."' /></td><td><a href='share/".$hRow['shareid']."'>".$hRow["title"]."</a> - <i>". $hRow["description"]."</i><br /><b>Share Link:</b> http://www.linkbase.us/share/".$hRow['shareid']."</td><td>".$hRow['tags']."</td><td><a href='#' id='".$hRow['shareid']."' class='delbutton'>Delete</a></td></tr>"; 
     } 
    ?> 
    </table> 
+0

大丈夫、jQueryを使ってテーブルを拡張する場合は、別の作業方法が必要だと思います。 – Natrium

0

まず、AJAXの基本を調べる必要があります。

実行を開始する前に歩く方法を学ぶ必要があります。アヤックスのいくつかのチュートリアルのための

検索、PHP &アヤックス

Herehereは私が私のテーブルを生成するためにJSONを使用していない

+0

テーブルにすべてが入力され、削除さえ機能します! ページ全体を再読み込みするとどうなりますか? location.reload()はAJAX投稿の後でも動作しますか? –

+0

location.reload()が動作する可能性があります。私はそれを本当に知らない。 それで私が正しいなら、あなたはajaxを使ってサーバーにデータを投稿しています。しかし、取得するとき、あなたはajaxを使用しません。右? Ajaxを使用してデータを取得する場合、reloading-part全体がdocument.reload()を実行するだけでなく、 – Natrium