gpt4 book ai didi

php - HTML 表单 - 将每一行作为数组发送

转载 作者:行者123 更新时间:2023-11-29 13:19:35 24 4
gpt4 key购买 nike

所以,我想这可能是一个简单的问题,但我现在无法真正理解它......=S

我有一个表单,可以从我的数据库获取数据。

它包含一列名称,然后是两列带有复选框的列。

当我提交此表单时,我想使用给定的复选框更新数据库。

因此,表单已加载并填写了例如 5 个不同的名称/用户。每个用户有 2 个复选框选择。 (共 3 列)。

就像现在一样,它适用于所有情况,除非仅选中两个复选框中的最后一个。然后我的代码将其视为仅选中了第一个复选框。(因为未发送未选中的复选框,所以我的最后一个复选框位于第一个复选框的数组位置中)。

抱歉我的解释很糟糕。我希望你明白我的问题所在。

这是一些代码:

<form id="rsvpRegForm" method="post" action="updateRSVP.php">
<h2>Kryss av for kirke og/eller middag:</h2>
<br>
<table id="rsvpRegTable" border="0">
<?php while($guest = $guestSQL->fetch_assoc()){ ?>
<tr>
<td style="text-align:left" width="200px"><?=$guest['guestName']?><input type="hidden" name="guest<?=$guest['guestID']?>[]" value="<?=$guest['guestID']?>"></td>
<td><input type="checkbox" <?php if(isset($guest['guestChurch'])){if($guest['guestChurch'] == 1){ echo 'checked';}} ?> value="1" name="guest<?=$guest['guestID']?>[]">Kirke</td>
<td><input type="checkbox" <?php if(isset($guest['guestParty'])){if($guest['guestParty'] == 1){ echo 'checked';}} ?> value="1" name="guest<?=$guest['guestID']?>[]">Middag</td>
</tr>
<?php } ?>

</table>
<br>
<input type="submit" value="Send RSVP">
</form>

这是负责用结果更新我的数据库的代码:

foreach($_POST as $guest){  

if(!isset($guest[1])){
$guest[1] = 0;
}

if(!isset($guest[2])){
$guest[2] = 0;
}

$stmt = $mysqli->prepare('UPDATE rsvp_guests SET
guestReplied = ?,
guestChurch = ?,
guestParty = ?
WHERE guestID = ?');


$stmt->bind_param('dddd',
$rsvpReplied,
$guest[1],
$guest[2],
$guest[0]);

$stmt->execute();
$stmt->close();
}

最佳答案

将其命名为 name="guest<?=$guest['guestID']?>[party]" & name="guest<?=$guest['guestID']?>[church]" ,这样您就知道哪一个处于打开或关闭状态。

关于php - HTML 表单 - 将每一行作为数组发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21033347/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com