mysql php배열 저장 질문

mysql php배열 저장 질문

QA

mysql php배열 저장 질문

본문

php에서 mysql로 저장시

데이터값이 배열일시 array로 저장이 되는데,

해당 array값 value 을 저장하고 싶을시 어느 방법이있는지, 그리고 어떠한 방법이 가장 베스트인지 궁금합니다.

 

예를들어 아래 체크박스 한개만 체크해서 넘길시 한개의 value가 mysql에 저장이되지만

두개 이상 체크할시 array로 데이터가 들어가는데,

array로 말고 예를들어 test1 test2 체크시 mysql에 test1,test2로 찍히길 원합니다.


<form class="form_data">
    <div>
        <div class="input_wrap">
            <input type="checkbox" value="test1" name="chk[]" class="chk" onclick="oneCheck(this)">
            <span>test1</span>
        </div>
    </div>
    <div>
        <div class="input_wrap">
            <input type="checkbox" value="test2" name="chk[]" class="chk" onclick="oneCheck(this)">
            <span>test2</span>
        </div>
    </div>
    <div>
        <div class="input_wrap">
            <input type="checkbox" value="test3" name="chk[]" class="chk" onclick="oneCheck(this)">
            <span>test3</span>
        </div>
    </div>
    <div>
        <div class="input_wrap">
            <input type="checkbox" value="test4" name="chk[]" class="chk" onclick="oneCheck(this)">
            <span>test4</span>
        </div>
    </div>
 
    <button type="submit" name="submit" id="submit">확인</button>
</form>

이 질문에 댓글 쓰기 :

답변 2

일반적으로 구분자로 저장을 합니다.

예를 들어 저장하는 페이지에서 값을 받아서 구분자를 넣어 변환합니다.

| 구분자로 값을 만드는 경우

$val = implode('|', $chk);

 

bit(set) data type을 이용하시는 것을 추천합니다.

 

<input type="checkbox" value="1" <?=$chk & 1 ? 'checked':'' ?> name="chk[]" class="chk" onclick="oneCheck(this)">
<input type="checkbox" value="2" <?=$chk & 2 ? 'checked':'' ?>name="chk[]" class="chk" onclick="oneCheck(this)">
<input type="checkbox" value="4" <?=$chk & 4 ? 'checked':'' ?>name="chk[]" class="chk" onclick="oneCheck(this)">
<input type="checkbox" value="8" <?=$chk & 8 ? 'checked':'' ?>name="chk[]" class="chk" onclick="oneCheck(this)">
이런 식으로 2의 배수로 값을 지정하고
저장할 때는
$chk_val= array_sum( $_POST['chck']);

update .., set chk_colname='$chk_val', ''''

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

회원로그인

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