배열 관련 질문드립니다ㅠㅠ

배열 관련 질문드립니다ㅠㅠ

QA

배열 관련 질문드립니다ㅠㅠ

본문

현재 write.skin에

 

      <input type='checkbox' name='wr_9[]' value="1"   >ㄱㄱㄱ
          <input type='checkbox' name='wr_9[]' value="2"  >ㄴㄴ
          <input type='checkbox' name='wr_9[]' value="3" >ㄷㄷ
식으로 다중 배열 체크를 하고서

 

write_update.skin.php에

 

print_r($_POST['wr_9']); exit;  --> 이렇게 찍으면 array로 나옵니다 값을 받은게 맞는거죠?!

그래서   
  $wr_9 = implode('##',$_POST['wr_9']); 로 줬는데 쿼리문을 찍어도

array로 나오는데 어떻게 해야할까요ㅠㅠ

 

제가 원하는건 저3개를 다 찍었을경우 1##2## 이런식으로 db에 입력이되야하거든요ㅠㅠ

 

이 질문에 댓글 쓰기 :

답변 5

write_update.tail.skin.php

파일을 만드시고.

update bo_table set wr_9 = implode('##', $_POST['wr_9']) where bo_table = bo_table and wr_id = wr_id

 

이렇게 넣으면 되실듯 한데요?

 

$sql = "update bo_table set wr_9 = implode('##', $_POST['wr_9']) where bo_table = bo_table and wr_id = wr_id";

 sql_query($sql);

이런식으로 넣으면될까요? write.skin.php랑 write_update.skin.php 에선 건들게 따로 없나요?

소스를 건드리지 않으셨다면..

write_update.php는 

처음으로

@include_once($board_skin_path.'/write_update.head.skin.php');

@include_once($board_skin_path.'/write_update.skin.php');

@include_once($board_skin_path.'/write_update.tail.skin.php');

 

이렇게 파일을 include합니다.

쿼리를 조금 수정하자면..

 


$wr_9_str = addslashes( implode('##', $_POST['wr_9']) );
$sql = "update {$write_table} set wr_9 = '{$wr_9_str}' where wr_id = {$wr_id}";
 sql_query($sql); 

확인해 보세요!

wr_9필드에 값이 들어가질않네요 ㅠ
write_update.head.skin.php에서는 array 값이 찍히는데 말이죠ㅠㅠ

저 소스는 wrtie_update.tail.skin.php 에 넣으라는 말씀이실거고 ㅠㅠ

다른 필드들은 잘 들어가는데 안들어가네요 ㅠㅠㅠㅠ

쿼리를 찍어보니 update g5_write_221 set wr_9 = '' where wr_id = 3079

wr_9 값을 못받아오는것 같습니다.. head.skin에선 array로 찍히는데 말이죠


$wr_9_str = addslashes( implode('##', $_POST['wr_9']) );
$sql = "update {$write_table} set wr_9 = '{$wr_9_str}' where wr_id = {$wr_id}";
echo $sql; exit;


한번 해보실래요?

Array

update g5_write_221 set wr_9 = '' where wr_id = 3080

이렇게 나와요 저도 그렇게 찍어본거거든요 ㅠㅠ


저 array 값은 아마
write_update.head.skin.php
에다가 이걸 넣어줬는데
print_r($_POST['wr_9']);
$wr_9 = implode('##', $_POST['wr_9']);  --> 여기부분 주석해도  wr_9값을 못받아오네요ㅠ

저기서 프린트알값이 찍힌거에요

질문의 체크박스에 체크했는데 print_r($_POST['wr_9']); 의 결과가 array로만 나온다는 것이 이상하네요

당연히 체크한 체크박스의 value 1,2,3 중에서 출력 되어야합니다

위의 체크박스 말고 다른 name=wr_9가 잇는지 확인해보세요

그리고 값 입력시 write_update.head.skin.php에서 값을 합쳐주기만 하면 됩니다

if($wr_9[0]) $wr_9 = implode('##', $_POST['wr_9']); 

 

답변들처럼 update쿼리는 필요없습니다

------------------

이 답변대로 해서 안되면 쓰기 페이지에서 문제가 잇습니다

 

<input type='checkbox' name='wr_9' value="1">ㄱㄱㄱ
    <input type='checkbox' name='wr_9' value="2">ㄴㄴㄴ
    <input type='checkbox' name='wr_9' value="3">ㄷㄷㄷ 이렇게도 해보고

    <input type='checkbox' name='wr_9[]' value="1">ㄱㄱㄱ
    <input type='checkbox' name='wr_9[]' value="2">ㄴㄴㄴ
    <input type='checkbox' name='wr_9[]' value="3">ㄷㄷㄷ 이렇게도 해봤는데 못받아오는건뭐죠..

균이님 말씀대로 print_r($_POST['wr_9']) 가 array 라고 출력되는 것 자체가 문제인듯합니다.

write.skin.php 와 write_update.head.skin.php 파일을 정리하셔서 올려보심이 좋을듯 합니다.

write.skin.php 파일에 <form></form> 태그 안에 input 들이 제대로 위치해있는지도 봐야할 것 같고,

 

스킨에 이상이 없다면,

혹시 extend 나 플러그인 또는 테마에서 $_POST 를 조작하는지도 봐야겠네요.

답변을 작성하시기 전에 로그인 해주세요.
전체 59
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT