admin.phpファイルのフォームに複数の送信ボタンがあります。管理者が行う各アクションについては、admin.phpファイルに送信ボタンがあります。管理者の行動の1つ(毎日の出席)は、従業員の出席を存在または不在としてマークすることです。POSTメソッドでフォーム入力値以外の値を渡す方法
"Daily Attendance"の送信ボタンをクリックすると、3つのドロップダウン選択が表示され、管理者は出席をマークする年、月、日を選択できます。これに伴い、従業員テーブルのすべてのレコードを含むテーブルが表示されます。表示されるレコードごとに、出席用のラジオボタン(値:presentとabsent)と送信ボタン(name = mark)を動的に生成しています。管理者は、従業員の一人にラジオボタンの助けを借りて存在/不在のマークを付けるだけで、隣接する送信ボタン(マーク)をクリックしてこのレコードを出席テーブルに挿入します。
各レコードの選択(年、月、日付)とラジオボタンは、動的に生成されるフォームの一部です。このフォームでは、ACTION属性に "mark-attendance.php"とmethod = POSTを指定しました。
ここで、選択した値を年、月、および日に渡します。出席がマークされている従業員の現在または不在の出席値、および従業員IDをPOSTメソッドを使用して「mark-attendance.php」ページに追加します。
私は年、月、日付(選択)と出席者(現在/不在)の値を取得できます。しかし、それはフォームの入力ではないので、その人の従業員IDの値を "mark-attendance.php"に渡すことができません。
どのようにこの値を渡すのですか?この値を使用して、特定の従業員IDの出席テーブルにレコードを挿入します。
すべてのヘルプは理解されるであろう。ここでは
が私のコードです:HTMLコードをエコーするとき、私は「スペースの制約すべてのswitch ($_POST['admin']) {
// if admin=>Daily Attendance
case 'Daily Attendance':
$sql_sel_emp = "select * from employee";
$res_emp = mysqli_query($conn,$sql_sel_emp);
$aff_sel = mysqli_affected_rows($conn);
//display a calendar and table with records only if records exist
if ($aff_sel>0) {
echo "<form action='test-message.php' method='POST'>
<table>
<br><br>
<tr>
<td>
<select name='year'>
<option value='2016'>2016</option>
<option value='2017'>2017</option>
</select>
</td>
<td>
<select name='month'>
<option value='01'>January</option>
<option value='02'>February</option>
</select>
</td>
<td>
<select name='day'>
<option value='01'>1</option>
<option value='02'>2</option>
</select>
</td>
</tr>
</table><br><br>";
echo "<table border='1' cellpadding='1' cellspacing='1'>
<tr>
<th>Employee Image</th>
<th>Employee Id</th>
<th>Employee Name</th>
<th>Employee Email</th>
<th>Employee DOB</th>
<th>Employee Designation</th>
<th>Employee Department</th>
<th>Attendance Status</th>
<th>Action</th>
</tr>";
while ($row=mysqli_fetch_assoc($res_emp)) {
echo "<tr>
<td>";?><img src="images/<?php echo $row['emp_image'];
?>" height="100" width="100" ><?php echo "</td>
<td>".$row['emp_id']."</td>
<td>".$row['emp_name']."</td>
<td>".$row['emp_email']."</td>
<td>".$row['emp_dob']."</td>
<td>".$row['emp_designation']."</td>
<td>".$row['emp_department']."</td>
<td><input type='radio' name='attendance'
value='present'>Present<br>
<input type='radio' name='attendance' value='absent'>Absent<br></td>
<td>
<input type='submit' name='mark' value='Mark Attendance'>
</td>
</tr>";
}
echo "</table></form>";
//display message if there are no records in temporary_employee table
} else {
$msg="No records found";
}
break;
は、なぜあなたがしているものは何でも、その値を 'の'を作成して、設定しないでください送信しようとしている? – roberto06
@ roberto06、私は社員IDの値を隠し型入力フィールドに渡すことができます。しかし、私が直面している問題は、どちらの従業員がクリックされても、POSTメソッドを通じて、他のページの最後の従業員だけの従業員IDを取得していることです。 以下のコードを私の既存のコードに追加しました。ここで私はemployeeテーブルからすべてのレコードを取得しています。 のに<?php echo $行[ 'EMP_ID'];?>
–
あなたはユーザーあたり'
'要素を持っている必要があり、ここで問題となるのは、同じ名前の複数の隠しフィールドが1つのフォームしかないので、最後の値をとるということです。 – roberto06