채택완료

체크박스 db에 insert 할때 어떤식으로..

2018-12-06 (목) 09:33:40 5,213

<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개 / 댓글 2개

채택된 답변
+20 포인트

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

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

2018-12-06 (목) 10:17:06

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

2018-12-06 (목) 10:13:59

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

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

2018-12-06 (목) 09:42:46

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

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

답변에 대한 댓글 1개

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

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

답변에 대한 댓글 1개

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

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