그래서, 나는 얻는다 SHTML 양식은 - 배열로 각 행을 보내기
I 양식을,이 간단한 질문이 될 수도 있지만 난 정말 그 순간 ... =시 주변에 내 머리를 얻을 못할 것 같아요 내 데이터베이스의 데이터.
여기에는 하나의 열 이름과 확인란이있는 두 개의 열이 있습니다.
이 양식을 제출하면 지정된 확인란으로 데이터베이스를 업데이트하고 싶습니다.
그래서 양식은로드되고 예를 들어 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();
}
어리석은 .. ..^많이 고마워! html/php에서 폼과 배열에 대한 경험이 거의 없다고 생각합니다. 다시 친구에게 감사드립니다! =) –