2011-04-21 5 views
0

사용자가 체크 한 것을 데이터베이스에 생성 한 테이블에 삽입하면됩니다. 배열에 저장된 데이터를 가져올 수 있지만 데이터베이스에 저장할 수 없습니다.PHP를 통해 MySQL에 체크 박스 게시하기

<form> 
    <input type="checkbox" name="partType[]" value="GenericBreakPads" /> Generic Break Pads 
    <input type="checkbox" name="partType[]" value="Air_Conditioning_Compressor" /> Air Conditioning Compressor 
    <input type="checkbox" name="partType[]" value="Generic_Battery" /> Generic Battery <br /> 
    <input type="checkbox" name="partType[]" value="Carburetor" /> Carburetor  
    <input type="checkbox" name="partType[]" value="Engine_Balance_Shaft" /> Engine Balance Shaft    
    <input type="checkbox" name="partType[]" value="Engine_Cylinder" /> Engine Cylinder     
    </form> 

나는 serialize를 시도했지만 테이블에 저장된 방식으로 인해별로 도움이되지 않았습니다.

$theParts=serialize($_POST['partType']); //takes the data from a post operation... 
$query=INSERT INTO parts VALUES('$partType'); 

누구든지 나를 도와 주시면 감사하겠습니다.

+1

게시 테이블 구조! – Bil

+1

데이터를 정확히 저장 하시겠습니까? 단일 열에? 여러 열에서 m2m 관계로? – prodigitalson

+0

정말로 입력하고 싶습니다 :'$ theParts ='**'mysql_real_escape_string' **'(serialize ($ _ POST [ 'partType']))); // 게시물 작업에서 데이터를 가져옵니다 ... $ query = INSERT INTO parts VALUES ('$ partType'); '맞지? – Johan

답변

0
$query = 'INSERT INTO parts VALUES("'. mysql_real_escape_string($partType) .'");'; 
0

정말 체크 상자 결과를 반복해야합니다. 예 :

for ($i=0;$i<count($partType);$i++) { 
    //insert record into database using $partType[$i] 
} 

그러면 데이터를 개별 행에 삽입 할 수 있습니다.

그러나 실제로 하나의 필드에 저장해야하는 경우 배열을 쉼표로 구분 된 문자열로 요약 할 수 있습니다. 당신은 당신의 데이터베이스 필드에 해당 문자열을 삽입 할 수 있습니다 이것은 당신이 하나의 데이터베이스 필드

implode();

내부에 1 개 이상의 항목을 저장하는 등의 더 이상 정규화으로하지만 좋은 데이터베이스 디자인/사용을 깨는

implode("," $partType); 

희망 하시겠습니까?

관련 문제