0

2つの部分からなる質問。ここで必ずしもコードを要求する必要はありません。コードの処理方法に関する指示だけで十分です。

MySQLテーブルの行にテーブルが格納されているので、これを呼び出します。$row['request']これをエコーすると、完全なが出力され<table><tr><td></td></tr></table>ます。

これはすべて、ユーザーがタスクを送信するときに生成されます。現時点では、これを変更することはできません。

したがって、ユーザーが数日以内に$row['request']、下部にいくつかの新しい行を追加して、そのHTMLテーブルのHTMLテーブルを更新することを決定したとします。

</table>エコーされた結果の最後に あるタグの前にこれらの行を追加するにはどうすればよいですか?

新しい行を追加するために私が持っているものは次のとおりです:JsFiddleExample

これで十分な場合、この新しいHTMLデータをMySQLの既存のフィールドに追加するにはどうすればよいですか?

私は次のようなものを使用する必要があります

$query = "UPDATE t1
   SET request = CONCAT(request,'$extra')
   WHERE id = '$id'";

</table>新しいHTMLを追加する前に、これにタグを付けたまま追加する方法がわかりません。

フィールド全体を書き直すこともできますが、テーブル全体をPHP変数として取得して送信する方法がよくわかりません。いつものように助けてくれてありがとう。

編集:<table><tr><td></td></tr></table>MySQLテーブルの単一のフィールドに情報を保存しています。これは煩わしいことですが、テーブルは最初にユーザーがExcelテーブルからテキストエリアにコンテンツを貼り付けることによって生成され、送信クエリは\nと\tをテーブルタグに置き換えます。したがって、[行の追加]をクリックすると、新しい<tr><td></td></tr>情報とその中のデータをUPDATEクエリに送信する必要があります。それが私の問題です。

4

1 に答える 1

1

trあなたのコメントによると、「newのHTML文字列全体をMySQLに送信」したいと思います。これを行うことができます:

var counter = 1;
jQuery('a.add-row').click(function(event){
  event.preventDefault();
  counter++;

  var $tr = $( '.requesttable tr:last' ) // assume new <tr> always the last one
  $tr.find( 'input' ).each( function() {
    $(this.parentNode).html( this.value ) // get rid of <input> tag, only keep value
  })

  $.ajax( {
    url: url, // PHP page that receive data and update MySQL
    data: $tr.get(0).outerHTML, // "<tr><td>value1</td><td>value2</td></tr>"
    type: 'post', // or 'get', depends on your PHP page
    success: function() {
      // if added, append new row
    },
    error: function() {
      // if failed, alert user
    }
  } )
});
于 2013-01-28T04:26:10.677 に答える