クライアント側で生成された動的テーブル データをデータベースに保存する必要があります。
私の動的テーブルは次のとおりです。
<table class="table" id = "myTable">
<thead>
<tr>
<th>Roll No</th>
<th>Student Name</th>
<th>Attendance</th>
</tr>
</thead>
<tbody>
<?php foreach($results as $students) {?>
<tr id="<?= $students->roll_no;?>" align ="center">
<td><?= $students->roll_no;?></td>
<td><?= $students->full_name;?></td>
<td><input type="radio" id="att" name="attendance" value="present">Present
<input type="radio" id="att" name="attendance" value="absent">Absent</td>
</tr>
<?php } ?>
</tbody>
</table>
<input type="submit" onClick="savedata()" name="submit" value="SAVE">
ここでのひねりは、3 番目の列でラジオ ボタンを使用しているため、SUBMIT でチェック済みの値を渡す必要があることです。
私が使用しているJavaScriptコード(参照:Stackoverflowの回答)は次のとおりです。
function savedata() { var oTable = document.getElementById('myTable'); //テーブルを取得
var rowLength = oTable.rows.length; //gets rows of table for (i = 1; i < rowLength; i++){ //loops through rows var oCells = oTable.rows.item(i).cells; //gets cells of current row var cellLength = oCells.length; for(var j = 0; j < cellLength; j++){ //loops through each cell in current row <!--get your cell info here--> if(j == cellLength-1) { var cellVal = $('input[name="attendance"]:radio:checked'); alert(cellVal); // store it in array here radioarr = [oTable.rows.item(i).cells,oCells.item(j).innerHTML]; } else { var cellVal = oCells.item(j).innerHTML; alert(cellVal); // store it in array here fieldarr = [oTable.rows.item(i).cells,oCells.item(j).innerHTML]; } } } } $.ajax{ // Pass the data to another page insert.php and store it in the database } </script>
だから私がする必要があるのは..キーと値のペアを作成して配列に保存し、それをajaxリクエストとして渡し、同じものをデータベースに挿入します。
問題 :
チェックされたラジオボタンが配列に格納されていません
2D 配列を作成し、そこにすべてのデータを格納する必要があり、[object,object] を示すように作成しました
ajax リクエストを使用してこの配列を別のページに渡し、データベースに保存する必要があります。
どうすればこれを行うことができますか?
前もって感謝します。NC