오전 모두,제발 나를이 PHP 코드를 디버그 도와주세요
나는 한 번에 데이터베이스에 여러 행을 추가하는 데 사용하는 양식이 있습니다. 체크 박스를 제외하고는 모두 잘 작동하는 것 같습니다. 양식 행마다 하나의 체크 박스가 있습니다. 확인란의 체크 순서와 관계없이 결과는 제출 된 후에 항상 동일한 순서로 반환됩니다.
<tr>
<td class='border'>
<input type='text' name='rowid[]' value='".$row."' style='display:none;' />
<input type='text' name='ref[]' style='width:100%;' />
</td>
<td class='border'>
<input type='text' name='obs[]' style='width:100%;' />
</td>
<td class='border'>
<input type='text' name='act[]' style='width:100%;' />
</td>
<td class='border' align='center'>
<input type='checkbox' name='comp[]' value='Yes' />
</td>
<td class='border'>
<input type='text' name='compby[]' style='width:100%;' />
</td>
<td class='border'>
<input type='text' name='compdate[]' id='completeddate".$row."' class='completeddate' style='width:100%;' />
</td>
</tr>
이 양식이 제출됩니다, 그리고 내 PHP 코드 거래 :
여기에 중요한 양식의 주요 부분이다. 첫 번째 입력이 양식의 행 ID임을 알 수 있습니다. 이것은 숨겨진 필드이며 양식에 표시된 각 행에 대해 값이 하나씩 증가합니다. 양식이 제출되면
, 나는 한 번에 각 행, 하나 거래를 얻기 위해 아래의 PHP를 사용
foreach($_POST['rowid'] as $key=>$rowid) {
이 기본적으로 ROWID를 들어, 입력의 나머지는 관련이 있다는 말을해야, 다음 rowid에 도착할 때까지.
그때, 나는 첫 번째 행에 대한 참조를 얻을 것이다, 루프를 완료하고 다시 인쇄를하면 그 다음, 나는 두 번째 행에 대한 참조를 얻을 것이다
echo $_POST['ref'][$key];
말을 인쇄 할 수 있다면 및 곧. 내가 있다면
그러나 나누기 곳은 다음
echo $_POST['comp'][$key];
을 넣어.
의 각 행에 대해 나는 다음 순서로 체크 박스를 쳤다 것으로, 예를 들어 가정 해 봅시다 : 다음 체크 박스의 모든 값을 루프 인쇄를 할 경우
row 1, tick, row 2, untick, row 3, tick
,이 표시됩니다
'Yes', 'Yes', ''
그러나이 순서에 있어야
'Yes', '', 'Yes'
체크 박스는 A가 정상이기 때문입니다 어쨌든 rray, 그리고 나는 이것을 comp []의 이름으로 다른 배열에 넣을 것인가?
이 문제는 해결 되었습니까? 아니면 라디오 버튼이 없습니까?
많은 감사
EDS가
"submit"을 클릭하고 결과를 표시 한 후 –
'print_r ($ _ POST)'를 사용하십시오. ... – Night2
양식을 제출 한 후 확인란을 선택하면됩니다. 체크 된 값만 전송하십시오 ... 그래서 $ _POST [ 'comp']의 개수를 계산하면 체크 박스의 수를 제출하기 전에 폼에 체크 된 숫자와 동일한 수를 볼 수 있습니다 .... 다른 이름을 가질 수 있습니다 각각의 체크 박스 라인 comp_1 또는 그와 비슷한 것 .. – Surace