를 업데이트하지 I는동적 체크 박스 올바르게
<cfset counter = 0>
<form name="setPermissions" class="setPermissions" action="" method="post">
<cfoutput>
<cfloop query="getUserAccess">
<input name="Meetings_#Counter#" type="checkbox" />
<cfset counter = counter + 1>
</cfloop>
</cfoutput>
</form>
getUserAccess
쿼리이 체크 박스 (6)가 출력되는 것을 의미 6 개 행을 갖고 동적 체크 박스를 생성했는지.
이 코드가 정확하지 않은 경우, 나는
<cfloop from="0" to="#getUserAccess.RecordCount#" index="i">
<cfquery datasource="#Request.dsn#">
UPDATE table SET
<cfif structKeyExists(FORM, 'Meetings_#i#')>
Meetings = <cfif FORM['Meetings_#i#'] EQ "on">1,<cfelse>0,</cfif>
</cfif>
WHERE ID = '#an_ID_that_is_specified#'
</cfquery>
</cfloop>
사과를 다음 쿼리를 실행하고있어, 이것들을 읽고 각각 테이블을 업데이트하려면, 거기 내 페이지에서 실행하고있을 때 작동하지만, 이 체크 박스가 약 20 개 생성되었으므로 하나만 볼 수 있도록 코드를 잘라 냈습니다.
자,이 코드는 내가 확인란을 선택하고 양식을 제출할 때,이 코드는 1에 값을 설정하기 위해 데이터베이스를 업데이트합니다, 좋은 작품
유일한 문제는, 내가 상자의 선택을 취소하면, 그것을 값을 0으로 변경하지 않습니다. 이것이 내가 붙어있는 곳입니다. 값이 on
이 아닌 값을 0으로 변경하지 않는 이유는 무엇입니까?
아무 것도 아직 전달되지 않았는지 확인하기 위해 <cfdump>
을 완료했으나 없습니다. 모든 상자와
MEETINGS_0 on
MEETINGS_1 on
MEETINGS_2 on
MEETINGS_3 on
MEETINGS_4 on
MEETINGS_5 on
를 얻을 쳤다, 나는 쳤다하지 않은 사람은 표시되지 않습니다.
값이 여전히 (즉, 작동 방법) 선택 해제 한 경우 단순히 늘 모든 값을 제출 1에 0
예쓰! 나는 약 1 시간 동안 벽에 머리를 부딪치게되었다. 그리고 그것은 단순했다! –
CF9에서는 3 진 성명을 사용할 수 있으므로 'Meetings ='그러나 그것의 사소한 변화와 필요가 없다. –
Dpolehonski
@ 폴린 스키가 좋아 보인다!이것을 들여다 볼 것입니다. 그러나 게으르지 만 귀찮게하지 않을 것입니다. 거기에 많은 업데이트 조건이 있으므로 잠시 시간이 걸릴 수 있습니다! 그래도 머리를 가져 주셔서 감사합니다! –