2012-04-27 4 views
0

라디오 버튼에서 데이터베이스에 값을 삽입하려고합니다. 다음은 내 JS 코드 : 라디오 버튼에서 coldfusion으로 MS 액세스 데이터베이스에 삽입

for (i = 0; i < document.form.repnumber.value; i++) 
    { 
      newInnerHTML = newInnerHTML +'Name: <input type=\"text\" name=\"rep' +(i+1) +'\" value=\"\" size=\"50\">*<br> '; 
      newInnerHTML = newInnerHTML +'Email:<input type=\"text\" name=\"rep' +(i+1) +'\email" value=\"\" size=\"60\"><br> '; 
      newInnerHTML = newInnerHTML +'UI Alum? <input type=\"checkbox\" name=\"rep' +(i+1) +'\alumn" value=\"alumn\" ><br> '; 
      newInnerHTML = newInnerHTML +'<b>Break-Out Sessions</b>: *<br>'; 
      newInnerHTML = newInnerHTML +'New Recruiters <input type=\"radio\" name=\"rep' +(i+1) +'\sessions" value=\"1\" checked=\"checked\"><br>'; 
      newInnerHTML = newInnerHTML +'Seasoned Recruiters <input type=\"radio\" name=\"rep' +(i+1) +'\sessions" value=\"2\"><br>'; 
      newInnerHTML = newInnerHTML +'Community Partners <input type=\"radio\" name=\"rep' +(i+1) +'\sessions" value=\"3\"><br><br>'; 
    } 

그리고 작업 페이지에 대한

은, 코드, 그냥

insert into tablename(rep1sessions ...) values (#rep1sessions#...) 

처럼하지만 지금은 내 데이터베이스에서 '세션'열은 0을 보여주는 -1 숫자/텍스트의 경우 예/아니요로 선택 ​​/ 선택 취소합니다. 목표는 1,2,3 개의 다른 값을 열에 표시하는 것입니다. 어떤 아이디어?

+2

"showing"은 직접 쿼리 결과를 의미합니다. 즉, SELECT rep1sessions FROM tableName은 "1,2,3"대신 0과 1을 반환합니까? 그렇다면 작업 페이지에 FORM 범위를 덤프하여 양식 필드에 "1,2 또는 3"이 들어 있는지 확인하십시오. 또한 쿼리를 덤프하여 생성 된 sql을 확인하십시오. – Leigh

답변

1

데이터베이스 구조에 대해 생각해 보시기 바랍니다.

모든 데이터베이스의 열에 쉼표로 구분 된 목록을 저장하고 싶지는 않을 것입니다. "mycolumnx"형식으로 열 이름을 갖기를 원하지 않습니다. 여기서 x는 숫자입니다.

이와 같이 동적 양식 필드를 처리하는 방법면에서 보면 매우 쉽습니다. 모든 변수는 구조체에 있습니다. 여기에는 양식 및 URL과 같은 범위가 포함됩니다.

구조 및 해당 키는 연관 배열로 액세스 할 수 있습니다. 이것은 form.rep1session이 양식 [ "rep1session"]으로 액세스 될 수 있음을 의미합니다. 변수를 외삽하여 양식 변수에 액세스 할 수 있습니다. 양식 [ "rep"& i & "session"]

그런 다음 값을 적절한 관계형 데이터베이스 구조에 저장하기 만하면됩니다.

+0

내가 틀릴 수도 있지만 각 필드 이름에 카운터 변수가 포함되어 있으므로 목록을 저장하고 있다고 생각하지 않습니다. 그러나 테이블에 대한'columnX' 명명 규칙을 피하는 것에 동의했다. 일반적으로 열이 아닌 행에 비슷한 속성을 저장하는 것이 더 나은 방법입니다. @Zhecheng - 당신은 명확히 할 수 있습니까? – Leigh

관련 문제