2009-03-22 9 views
3

제 문제는 조금 복잡합니다. (PHP를 사용합니다)체크 박스에서 정보를 검색하는 방법은 무엇입니까?

두 배열 (간단한 배열 배열 [0] = 문자열, 배열 [1] = 문자열 ...) 이제 두 개의 배열 내용을 웹 페이지에 표시합니다. 첫 번째 배열에는 이름과 두 번째 이미지 URL이 포함됩니다.

이미지와 이름이 이미 표시되어 있습니다 (내 문제는 여기에 표시되지 않음).

하지만 이제는 다른 작업을하고 싶습니다. 모든 이미지 근처에 확인란을 추가하십시오. 기본적으로이 확인란이 활성화되어 있습니다. 이제 사용자는 일부받은 편지함을 선택 취소 할 수 있습니다.

최종 목표는 확인 된 이름과 이미지의 값만 포함하는 새로운 배열을 얻는 것입니다.

나는 간단한 것을 생각하고 체크하지 않은 체크 상자의 키 (번호)를 크롤링하고 배열에서 설정을 해제합니다. , 때를 다음

<label><input type="checkbox" name="thename[]" value="" /> The text</label> 

:하지만 확인란

+0

왜 투표하지 않을까요? 그것을 다시 설정하려면 +1. –

답변

2

첫째되지 않은 사용을이었다 확인할하려면

$array = array (0 => array('name' => '....', 'url' => '....')) 

내가이 당신의 인생을 훨씬 쉽게 만들 것입니다 생각합니다. 은 또한 HTML에 당신은 또한 당신이 intial 배열을 itarate 양식 행동 다음

foreach ($yourArray as $key=>$value) { 
    ... 
    <INPUT type="checkbox" name="chkArr[<?php echo $key ?>]" value="1" checked/>   

키 배열을 전송하고 선택하지 않은 것들을 제거 할 수 있습니다.

foreach ($yourArray as $key=>$value) { 
    if (!isset($_POST['chkArr'][$key]) OR $_POST['chkArr'][$key]!='1') { 
     unset($yourArray[$key]); 
    } 
} 
+0

예, 열쇠는 중요합니다. 그렇지 않은 경우 어떤 상자를 선택했는지 판단 할 가치가 있습니다. – OIS

5

에 대처하는 방법을 알고하지 않은 문제는 당신이 HTML에 괄호를 사용하여 자신의 이름을 설정해야 PHP에서 배열로 입력을 수신하려면 $ _REQUEST [ 'thename']에 액세스하면 배열이 생깁니다. 이

+0

좋아요! 나는 그것을 조사해야한다는 것을 모른다 : D –

0
<INPUT type="checkbox" name="chkArr[]" value="$num" checked/> 

을 :)와의 형식을보고 플레이를 검사 양식이 제출 한 후, 당신은 할 수 있습니다 배열 $ _REQUEST 당신이 체크 박스의 숫자를해야하는 [ 'chkArr'], 여전히 확인되었습니다.

내가 한 배열을 가진 권 해드립니다 모든 array_diff($listOfAllNums, $chkArr)

관련 문제