Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Checked e selected

Não ficou muito claro para mim a forma que o Checked e o Selected funcionam. Eu sei que ele vai verificar qual está setado para mostrar na pagina produto-altera-formulario.php, porém não ficou muito claro pra mim o funcionamento deles.

1 resposta
solução!

Oi Cesar, vou tentar explicar sem envolver código PHP, ok? Acredito que ficará mais fácil de visualizar.

A ideia tanto do checked quanto do select é essa aí que você falou, indicar qual é a opção que já deve vir marcada. No caso do checked, qual checkbox deve vir marcadinho e no caso do selected, qual opção do select deve ser exibida.

Para isso acontecer então, nos seus checkboxes, você indica qual opção que quer que venha checada só adicionando nele o atributo checked. Então se você tiver um checkbox para escolher quais são suas linguagens de interesse, você vai ter algo como:

<input type="checkbox" name="interesse" value="php" />PHP
<input type="checkbox" name="interesse" value="java"/>Java
<input type="checkbox" name="interesse" value="csharp"/>C#
<input type="checkbox" name="interesse" value="ruby"/>Ruby
<input type="checkbox" name="interesse" value="python"/>Python

Agora imagine que você vai carregar esse formulário para uma edição, por exemplo, e precisa trazer já os interesses da pessoa marcados. Se ela selecionou que as linguagens que a interessam são Ruby e Java, só é preciso adicionar o atributo checked nelas. Dá uma olhada:

<input type="checkbox" name="interesse" value="php" />PHP
<input type="checkbox" name="interesse" value="java" checked="checked"/>Java
<input type="checkbox" name="interesse" value="csharp"/>C#
<input type="checkbox" name="interesse" value="ruby" checked="checked"/>Ruby
<input type="checkbox" name="interesse" value="python"/>Python

E isso vai fazer com que as duas opções já venham marcadinhas. Claro, puxando isso de um banco de dados, você vai precisar fazer um if e alguma lógica para determinar qual linguagem a pessoa havia selecionado. E Se você detecta que ele havia selecionado a linguagem, adiciona o checked no input.

A mesma regra vale para o selected no caso dos option do input select.