체크박스 다중처리
본문
<!-- 회원 리스트 시작 -->
<form action="member_confirm_update.php" method="get">
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="min-width lr">
<tr><td colspan="30"><div style="border-top: 1px solid #ccc;"></div></td></tr>
<tr>
<?php if($member['adm_auth'] == 'super'){ ?>
<td width="5%" class="td_one">
<input type="checkbox" id="chkall" onclick="checkAll(this.checked)" style="cursor: pointer;">
</td>
<?php } ?>
<td class="menu_list" width="7%" class="max-height" style="height: 64px;">
아이디
</td>
<td class="menu_list" width="3%">
상태
</td>
<td class="menu_list" width="10%">
로그인 날짜
</td>
<td class="menu_list" width="10%">
포인트<br />
</td>
<td class="menu_list" width="10%">
이름<br>
닉네임
</td>
<td class="menu_list" width="7%">
연락처
</td>
<td class="menu_list" width="5%">
가입일
</td>
<td class="menu_list" width="5%">
아이피
</td>
<td class="menu_list" width="5%">
관리
</td>
<td class="menu_list" width="5%" colspan="10">
로그인 상태
</td>
</tr>
<?php
$sql = "select * from member";
$result = sql_query($sql);
while($row = sql_fetch_array($result)){
?>
<tr>
<td align="center">
<input type="checkbox" name="userid[]" value="<?php echo $row['userid'] ?>">
</td>
<td>
<input type="text" name="auto">
</td>
</tr>
<?php
}
?>
</table>
<!-- 리스트 끝 -->
<!-- 버튼관련 -->
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="min-width">
<?php if($member['adm_auth'] == 'super'){ ?>
<tr style="height: 10px;"></tr>
<tr>
<td colspan="15">
<input type="submit" name="confirm" value="선택수정" class="mem_submit">
<input type="submit" name="delete" value="선택삭제" class="mem_submit">
<input type="submit" name="close" value="선택풀기" class="mem_submit">
</td>
</tr>
<?php } ?>
</table>
</form>
<!-- 끝 -->
for($i=0; $i < count($userid); $i++){
$sql = "update member
set auto = '{$auto}'
where userid = '{$userid[$i]}' ";
sql_query($sql);
echo $sql;
echo $auto;
}
하.. 이렇게했는데
<form 부분에서 method 를 get 으로 줘봤는데
체크한 사람의 값만 넘어가는게아니라
체크 안해준사람의 값도 넘어갑니다..
!-->!-->답변 4
POST 로 바꿔서 해보세요
받을땐
for($i=0; $i < count($_POST[userid]); $i++){
$sql = "update member
set auto = '{$_POST[auto]}'
where userid = '{$_POST[userid][$i]}' ";
}
안되는데요..ㅠㅠ
<input type="checkbox" name="userid[]" value="<?php echo $row['userid'] .'/'. ++$i?>">
<input type="text" name="auto[]">
foreach ($userid as $value) {
$arr = explode('/', $value);
$id = $arr[0]; $i = $arr[1]-1;
$sql = "update member
set auto = '{$auto[$i]}'
where userid = '{$id}' ";
member_confirm_update.php
이 페이지에서
print_r2($_POST);
exit;
찍어 보세요.
값 정상적으로 넘어오는지.
답변을 작성하시기 전에 로그인 해주세요.