아래와 같은 소스를 작성했는데요
for ($i=0; $i<count($_POST['chk']); $i++) 만 있을때는 여러개의 체크박스를 선택, 수정버튼을 클릭해도 체크된 부분이 수정되었는데요 밑에 for ($i=0; $row=sql_fetch_array($result); $i++) {이 들어가니 하나만 수정이 됩니다.
어떤걸 잘 못 한건가요?
Copy
for ($i=0; $i<count($_POST['chk']); $i++){ $k = $_POST['chk'][$i]; if ($_POST['act_button'] == "선택수정") { $sql = "update {$write_counsel_table} set wr_14 = '{$_POST['is_score'][$k]}' where wr_id = '{$_POST['wr_id'][$k]}' "; sql_query($sql); for ($i=0; $row=sql_fetch_array($result); $i++) { if ($_POST['is_score'][$k] == '1') { $send_hp_mb = "$sms5[cf_phone]"; $recv_hp_mb = "$vi_3_temp[1]"; $send_hp = str_replace("-","",$send_hp_mb); $recv_hp = str_replace("-","",$recv_hp_mb); $send_number = "$send_hp"; $recv_number = "$recv_hp"; $sms_content = $row[wr_name]." 님 완료 되었습니다.\\n ".$default[de_admin_company_name]; $SMS = new SMS; $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); $SMS->Add($recv_number, $send_number, $config['cf_icode_id'], iconv("utf-8", "euc-kr", stripslashes($sms_content)), ""); $SMS->Send(); alert("성공적으로 접수되었습니다."); } }} else if ($_POST['act_button'] == "선택삭제") {
|
답변 3개 / 댓글 3개
채택된 답변
+20 포인트
블랙캣77
2017-03-19 (일) 23:12:20
$i를 두군데에 써서 그렇습니다. 한군데를 $x나 다른 변수로 바꿔주세요
답변에 대한 댓글 1개
2017-03-19 (일) 23:23:33
2017-03-20 (월) 00:14:23
Copy
$k = $_POST['chk'][$i]; if ($_POST['act_button'] == "선택수정") { $sql = "update {$write_counsel_table} set wr_14 = '{$_POST['is_score'][$k]}' where wr_id = '{$_POST['wr_id'][$k]}' "; sql_query($sql);
이부분 입니다.
$_POST['is_score'][$k]의 값이 1일때 조건문이 필요해서요
이전 페이지에서 입력값을 가져올때의 부분입니다.
이전 페이지 소스
Copy
<td class="td_num"> <label for="score_<?php echo $i; ?>" class="sound_only">처리</label> <select name="is_score[<?php echo $i; ?>]" id="score_<?php echo $i; ?>"> <option value="0" <?php echo get_selected($row['wr_14'], "0"); ?>>접수</option> <option value="1" <?php echo get_selected($row['wr_14'], "1"); ?>>완료</option> </select> </td>
2017-03-19 (일) 23:33:06
if ($_POST['is_score'][$k] == '1') {
여기 $k를 바꿔야 하지 않을까요?
답변에 대한 댓글 2개
2017-03-19 (일) 23:56:11
답변 감사합니다.
완료일때 $_POST['is_score'][$k]의 값이 1인데요
값이 1일때의 if문이 실행되어야 하는데요 바꾸면 IF문이 실행되지 않아 문제 입니다.
if ($_POST['is_score'][$k] == '1') { } 이부분만 없으면 됩니다.^^;
완료일때 $_POST['is_score'][$k]의 값이 1인데요
값이 1일때의 if문이 실행되어야 하는데요 바꾸면 IF문이 실행되지 않아 문제 입니다.
if ($_POST['is_score'][$k] == '1') { } 이부분만 없으면 됩니다.^^;
2017-03-20 (월) 00:07:21
근데 저 $k는 어디서 오는 건가요?
위 코드만 봐서는 $k는 나와야 할 이유가 없는 것 같아서요.
위 코드만 봐서는 $k는 나와야 할 이유가 없는 것 같아서요.
답변을 작성하려면 로그인이 필요합니다.
for ($x=0; $row=sql_fetch_array($result); $x++) { 변경 해 보아도 똑같은 현상이네요^^;;