0

変数をフォームから分割し、Mysql データベースに 1 つずつ入力したいと考えていました。表 4 のフィールドは次のようになります: UserID、Status、HowLate、PassFail 以下のこの例では、UserID は 75 と 76 ですが、将来的にはユーザー ID の任意の # にすることができます。これらの動的変数が毎回どうなるかわからないため、これらの動的変数をデータベースに挿入する方法について混乱しています。私が持っている唯一の静的パターンは、foreach ( $_POST as $key => $value ) をループするときです。

$results = print_r($_POST, true);

フォームからのサンプルデータ

75=PRESENT

d75=on time

cc75=passed


76=LATE

d76=10 minutes

cc76=failed

次のようなクエリを書きたいと思います。

insert into attendance (UserID, Status, HowLate, PassFail) values (76, 'Late', '10 minutes', 'failed')

これもクラスの生徒と考えてください。一度に 20 件のレコードが返されます。

4

2 に答える 2

2

あなたがこれを行っている理由は、HTML フォームで多次元配列を送信できることに気付いていないためだと思います。などのアプローチを提案します。

<input name="users[1][userid]" />
<input name="users[1][status]" />
<input name="users[1][howlate]" />
<input name="users[1][passfail]" />

<input name="users[2][userid]" />
<input name="users[2][status]" />
<input name="users[2][howlate]" />
<input name="users[2][passfail]" />

次に、php で次の方法でアクセスできます。

foreach( $_POST['users'] as $key => $user )
{
    $userID = $user['userid'];  // same for the other fields. 
}
于 2013-01-07T19:46:25.510 に答える
0

変数を割り当てます(PDOを使用していない場合は、SQLインジェクションを回避する必要があります)。次に例を示します。

$userId = $_POST['userId']; // assuming that is what your field id is from the html form
$status = $_POST['status'];

次に、データベーステーブルに挿入します。

insert into attendance (UserID, Status, HowLate, PassFail) values ($userId, '$status' etc.
于 2013-01-07T19:48:42.450 に答える