在表格的同一行中,为某位选手匹配了多个选项数据,这些选项数据都在username这一行里的某个单元格里,通过复选以后,提交给PHP更新文件去插入到数据表中
请问以下该如何修改?(目前的状态是,无论选了几个,提交之后,这2个或3个都是重复提交了第一个数据)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>报名参赛 >> 比赛报名</title>
</head>
<body>
<a style="font-size:18px; font-weight:bold">报名</a>
<form id="myForm">
<button type="button" id="bm" name="bm">提交报名</button><br>
<table style="width:70%">
<tr>
<th style="width:15%">姓名</th>
<th style="width:50%">项目-组别</th>
</tr>
<?php
$athletes_sql = "SELECT * FROM athletes WHERE `teamname` = ? AND `game` = ? AND `name` = ? ";
$athletes_stmt = $pdo->prepare($athletes_sql);
$athletes_stmt->execute([$selectedTeamnames, $selectedGames, $selectedNames]);
$athletes_rows = $athletes_stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($athletes_rows as $row):
$username = htmlspecialchars($row['username']);
$realname = htmlspecialchars($row['realname']);
$idnumber = htmlspecialchars($row['idnumber']);
?>
<tr>
<td style="text-align: left;">
<input type="hidden" class="username" value="<?=$username;?>"><?=$realname;?></td>
<td style="text-align: left;">
<input type="hidden" class="idnumber" value="<?=$idnumber;?>"><?=$idnumber;?></td>
<td style="text-align: left;">
<?php
$xuhao = 0;
foreach ($group_rows as $gv_row):
$xuhao++;
$group = htmlspecialchars($gv_row['group']);
$event = htmlspecialchars($gv_row['event']);
?>
(<?=$xuhao;?>)
<?php
if($OK_rows){
echo "<a style='color:#1ab2ab'>本组项已报名</a>";
} else {
echo "<input type='checkbox' class='row-checkbox' value='<?=$username;?>'>";
}
?>
<input type="hidden" class="xuhao" value="<?=$xuhao;?>">
<input type="hidden" class="group<?=$xuhao;?>" value="<?=$group;?>"><?=$group;?>-
<input type="hidden" class="event<?=$xuhao;?>" value="<?=$event;?>"><?=$event;?><br>
<?php endforeach; ?>
</td>
</tr>
<?php endforeach; ?>
</table>
</form>
</body>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
$('#bm').on('click', function(event) {
event.preventDefault();
var xuhao = $('#xuhao').val();
var ids = [];
var groups = [];
var events = [];
$('input.row-checkbox:checked').each(function() {
var rowId = $(this).val();
ids.push(rowId);
var groupVal = $(this).closest('tr').find('.group' + xuhao).val();
var eventVal = $(this).closest('tr').find('.event' + xuhao).val();
groups.push(groupVal);
events.push(eventVal);
});
if (ids.length === 0) {
alert('请至少选择一个条目进行更新!');
return;
}
var game = $('#game-select').val();
var name = $('#name-select').val();
var teamname = $('#teamname-select').val();
var username = $('#username').val();
var station = $('#station-select').val();
$.ajax({
url: 'bmcs_bm_bm.php',
type: 'POST',
data: {
'ids': ids,
'game': game,
'name': name,
'teamname': teamname,
'username': username,
'station': station,
'groups': groups,
'events': events
},
success: function(response) {
$('#bmcs-content').html(response);
},
error: function(xhr, status, error) {
console.error("Error submitting form: " + error);
alert('批量更新失败:' + error);
}
});
});
});
</script>
</html>