2012-09-27 4 views
0

항목 목록에서 체크 된 항목 만 반환하는 데 문제가 있습니다. 체크 된 항목 만 반환하는 대신 선택되거나 선택되지 않은 체크 상자의 전체 목록을 가져옵니다.PHP의 항목 만 선택 (선택)

나는 체크 박스가있는 많은 항목 목록을 반환하는 양식이 있습니다. 사용자 환경 설정을 저장하고 그들이 선택한 항목에 정확하게 checked="checked"을 할당하면 올바르게 작동하는 것 같습니다. 내가 선택한 체크 박스의 값을 반환 할

foreach ($this->item as $code => $value) { 
    $checked = $this->settings['item'][$code] ? "checked='checked'" : ''; 
    $output .= "<label style=\"margin-left: 20px;\"><input type='checkbox' {$checked} name='options[item][{$code}]'/>{$this->item[$code]}</label><br />\n\r"; 
} 

다음과 같이

그것은 생성됩니다.

foreach ($_POST['items'] as $value) { 
    echo "the value are: ".$value; 
} 

이 대신은 선택한 사람의 모든 항목을 반환

이 내가 노력 해왔다 것입니다. 나는 또한 시도

:

$item = $this->item; 
foreach($item as $code) { 
    print $code; 
} 

이 모든 검사 및 비 선택한 항목으로 돌아갑니다.

아무도 문제가있는 곳을 알려줄 수 있습니까?

도움을 주시면 대단히 감사하겠습니다.

답변

0

나는 당신이 무엇을 요구하고 있는지 잘 모르겠다. 그러나 나는 당신이 이전에 체크 된 것을 원한다고 생각한다. 그러므로 다음을 시도하십시오 :

foreach ($_POST['items'] as $code => $value) { 
    if ($this->settings['item'][$code]) { 
     echo "the value are: ".$value; 
    } 
}