Em nossos formulários podemos ter uma lista de itens a serem selecionados pelo usuario. Esses campos podem ter o mesmo nome e devem ser recebidos na forma de array no script receptor. Isso é interessante pois se forem muitos itens ou de tamanho desconhecido (geralmente quando vem do banco) fica inviável ler campo a campo no PHP.
Veja como implementar:
Primeiramente o form:
<form action="gravar.php" method="post">
<input type="checkbox" name="itens[]" value="1" /> Item 1<br/>
<input type="checkbox" name="itens[]" value="2" /> Item 2<br/>
<input type="checkbox" name="itens[]" value="3" /> Item 3<br/>
<input type="submit" value="Enviar" />
</form>
Perceba que o nome deve ser terminado com '[]', para instruir o PHP de que se trata de um array.
O script:
<?php
$itens= $_REQUEST['itens'];
if (!empty($itens)) {
$qtd = count($itens);
for ($i = 0; $i < $qtd; $i++) {
echo $itens[$i];//imprime o item corrente
}
}
?>
Com esse código você pode ter uma lista de 1000 checkbox que não faz diferença, não precisará ler um a um.
Gustavo Marques.
Era exatamento o que estava precisando para implementar no meu projeto!!!
ResponderExcluirParabens pelo artigo!!
Gracias!
ResponderExcluirGracias 2x
ResponderExcluirPerfeito!
ResponderExcluir