테스트 사이트 - 개발 중인 베타 버전입니다

체크박스 db에 insert 할때 어떤식으로.. 채택완료

아기새 6년 전 조회 4,907

<input type="checkbox" name="chk[]" value="1"> 
<input type="checkbox" name="chk[]" value="2"> 
<input type="checkbox" name="chk[]" value="3"> 

이런식으로 있다고 치고 

db에 넣을때 implode(',', $_POST['chk']) 해서 
1,2,3 
이런식으로 해서 넣은다음 불러올때 

한번더 select를 하시는지..

아니면 테이블을 하나 더만들어서 
for ($i = 0; $i < count($chk); $i++) { 
  $sql = "insert into table set ~~"; 


이런식으로 넣어서 불러올때 join 하시는지 궁금하네요.

댓글을 작성하려면 로그인이 필요합니다.

답변 5개

채택된 답변
+20 포인트
잉끼s
6년 전

나중에 각각의 값별로 검색을 하기 위해서는 조건문을 거실 경우는 후자

조건문이나 검색에서 쓰일 일이 없다면 전자

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

6년 전

저도 보통 왕계란님 처럼 하고 검색을 위해서라면 할때 대신 값마다 구분자 | @ 이런것들을 넣어서 검색도 가능하게는 합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

올리신 글처럼 값이 정말 단순하게 들어가면 implode(insert), explode(select)

값이 좀 많을 경우엔 테이블을 따로 만들어서 조인을 해서 씁니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

값이 몇개 없을 때는 한개의 필드에 1,2,3 이런식으로 넣습니다.

값이 많은 경우 unserialize( ) 이녀석을 이용하구요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

아기새
6년 전
json형태로 데이터가 들어가면
검색이나, 통계등등 할때 불편했었던 기억이.ㅜㅜ

댓글을 작성하려면 로그인이 필요합니다.

LovelyCaT
6년 전

개인적으로 implode해서 넣고 explode해서 화면에 뿌립니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

아기새
6년 전
그럼 다른테이블에서 데이터를 가져올려고할때
다시 select 해서 in(1,2,3) 이런식으로 해야하는데
데이터가 많을때는 select를 한번 더하자니 속도면에서는 안좋지않을까요.?

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인