私は自分の論文のためのシステムを作成しています。私は仕事をすることができない1つの側面があります。私は一度に複数の人のために出席を設定できるようにしたい。PHPとMySQLで一度に複数のフォームから複数の値を挿入する
すべての値が現在に設定されている必要であれば、これだけのカップルが不在にchagedすることができます。フォームがどのように見えるか、あなたが表示されますここに画像があります。フォームの下部にあるボタンを押すと、確認ページに移動します。出席者がまだ設定されていないスタッフのリストを取得するためにMySQlクエリを使用しました。これをタグを含むタグを使用してHTMLフォームに配置しました。次のように私はリストを作成しなければならないコードは次のとおりです。
<?php
// Get a list of all items and display them in ID order
$dynamicList = "";
$sql = mysql_query("SELECT StaffID, StaffName FROM StaffDetails WHERE StaffID NOT IN (SELECT StaffID FROM StaffAttendance WHERE AttendanceDate = curdate()) ORDER BY StaffID ASC");
// Show list
$productCount = mysql_num_rows($sql);
$setTodaysAttendanceList = "";
if ($productCount > 0) {
while($row = mysql_fetch_array($sql)) {
$StaffID = $row["StaffID"];
$StaffName = $row["StaffName"];
$setTodaysAttendanceList .= '<tr style="font-size:15px;">
<td><a href="../staff_member_details.php?id=' . $StaffID . '">' . $StaffID . '</a></td>
<td><a href="../staff_member_details.php?id=' . $StaffID . '">' . $StaffName . '</a></td>
<td><label>
<select name="attendance_status" id="attendance_status">
<option value="Present">Present</option>
<option value="Absent">Absent</option>
</select>
</label></td>
<td><label>
<textarea cols="21" rows="5" name="notes" id="notes" placeholder="Enter notes here..."></textarea>
</label></td>
</tr>';
}
} else {
$setTodaysAttendanceList = "There are no records listed at this time";
}
mysql_close();
?>
は、その後、私はこれを持っているHTML内:それは、次のページにリダイレクトする場合
<form action="set_multiple_staff_attendance_confirm.php" enctype="multipart/form-data" name="StaffAttendanceForm" id="StaffAttendanceForm" method="post">
<?php echo $setTodaysAttendanceList; ?>
<tr style="font-size:15px;">
<td></td>
<td></td>
<td></td>
<td><label>
<input type="submit" name="addNewRow" id="addNewRow" value="Add Staff Attendance Records" />
</label></form></td>
</tr>
、私は次のようになりますINSERTクエリを持っていますこの:
<?php
// Add row to database
if (isset($_POST['staff_id'])) {
$staff_id = mysql_real_escape_string($_POST['staff_id']);
$attendance_status = mysql_real_escape_string($_POST['attendance_status']);
$notes = mysql_real_escape_string($_POST['notes']);
$sql .= mysql_query("INSERT INTO StaffAttendance (StaffID, AttendanceDate, AttendanceStatus, Notes) VALUES
('$staff_id', now(), '$attendance_status', '$notes')") or die (mysql_error());
$editid = mysql_insert_id();
}
?>
私はこれが求めて長いと複雑な方法ですけど、私はちょうど私が行くを持っていたし、完全に立ち往生していたことを示しています!
:
は、次にあなたのスクリプトでこれを行うだろうか? – BenOfTheNorth
なぜフォームタグをテーブルの外に置くのですか?次にフォームの入力に行インデックスを接頭するように名前を付けます。単純なforループを使用してバックエンドから切り離すのは簡単です。 –
"行インデックス" @ David-SkyMeshと言うとき、どの変数を意味するのですか?これは私の現在のフォームタグです: '