0

さて、基本的に私はhtmlテーブルと保存ボタンに追加したデータを持っています。このボタンでテーブル内のデータをphp関数に送信して、データを使用してmysqlデータベースを変更できるようにします。データを取得できる限り、データベースを変更するためのツールがあります。しかし、私にはこれを行う方法がわかりません。これを達成するための最良の方法は何ですか?

4

3 に答える 3

5

@John Condeが言ったことに加えて、テーブルに表示されるすべてのレコードについて、それぞれの非表示フィールドを作成する必要があります。つまり、 <input type="hidden"... />
テーブルに行と列があることを考慮して、いくつかの仮定を行います。

  1. 行は、レコードごとにあるデータと同等であると想定します
  2. 列は、レコードごとにデータで更新するフィールドであること

この仮定を実行します(3つのフィールド、つまり3つの列と2つのレコードを仮定します)

        Field 1    Field 2    Field 3
Row 1     a          b          c
Row 2     d          e          f

これらのそれぞれについて、次のように送信ボタンを含めるために作成するフォームに、対応する入力フィールドを作成します。

<form action="" method="post">
    <!--Row 1-->
    <input type="hidden" name="field_1[]" value="a" />
    <input type="hidden" name="field_2[]" value="b" />
    <input type="hidden" name="field_3[]" value="c" />
    <!--Row 2-->
    <input type="hidden" name="field_1[]" value="d" />
    <input type="hidden" name="field_2[]" value="e" />
    <input type="hidden" name="field_3[]" value="f" />
    <!-- more rows if they exist -->
    <input type="submit" name="my_btn" value="POST IT!" />
</form>    

PHP側では、次のようにフォームフィールドを処理できます。

foreach($_POST["field_1"] as $id=>$field1_value){
    $field2_value = $_POST["field_2"][$id];
    $field3_value = $_POST["field_3"][$id];
    .......
}

お役に立てれば

于 2012-06-06T13:38:54.477 に答える
1

まず、テーブルを<フォーム>に配置し、アクションと選択したメソッド(GET、POSTなど)を指定します。このような:

<br>
< form id="tktk" name="tktk" method="GET" action=" < ? php echo $_SERVER['PHP_SELF'];?>?return=Yes"><br>
  < table style="width: 98%;border:0px"><br>
    < tr><br>
      < td>etc.etc.<br>

次に、次のように送信できます。

if(isset($_GET['return']) && $_GET['return'] == 'Yes'){

$sql = "UPDATE [table] SET [field-a] = 1 WHERE [field-b] = '" . $id . "'";<br>
$result = sqlsrv_query($link, $sql) or die('Errant query:  '.$sql);<br>

}

しかし、一般的に、私は、あなたがコーディングしているものを完全に理解するために、最初にチュートリアルをステップスルーすることを勧める他の人たちに同意します。

于 2012-06-06T13:24:10.037 に答える
0
  • テーブル内のデータは、フォームの送信時に送信できるように、など<input>のフォームフィールドに入力するか、< hidden"`>フィールドに入力する必要があります。<textarea>input type="

  • フォームでメソッドをに設定する必要がありますPOST(ただしGET、機能しますが、ベストプラクティスではありません_

  • すべてのフォームデータは$_POSTスーパーグローバルにあります。

于 2012-06-06T13:13:05.793 に答える