Checkbox com php e mysql

Pessoal estou com um problema aqui e não sei de jeito nenhum como resolver. Estou tentando implementar uns checkboxs na minha aplicação web neles eu vou poder enviar os dados deles para um banco de dados e além de incrementar eu quero poder alterar os que foram marcados e os que foram desmarcados, mas como fazer isso?

Cara, eu não lembro muito de PHP, mas a lógica é essa:

Checkbox marcado = true
Checbox desmarcado= false

Vc pode ter uma coluna booleana no banco, e sempre que for salvar os dados, vai mandar o estado atual da sua checkbox.

Pra recuperar é a mesma coisa, if(resultado-bool == true) marca o checkbox, else não marca o checkbox

Até que deu pra entender, acho que no meu caso todos os checkbox deverão ser enviados para o banco os que forem marcados com true e os que não forem marcados com false, como você disse, agora como fazer isso é que tá dando dor de cabeça.

Perfeito! Mas foi requerido uma coisa de ultimo hora para implementar que seria varios checkbox eu sei que para inserir eu devo armazenar em um array e enviar usando um foreach agora como eu listaria esse checkbox e poderia fazer alterações neles??

O link que você me enviou é interessante mas isso eu já consigo fazer… A dificuldade está sendo em alterar os dados do banco, por exemplo digamos que as seguintes opções de um sistema de turmas tenham sido marcadas:

1° A Manhã (x)
2° B Tarde
3° D Manhã (x)
1° C Noite

Agora digamos que eu tenha que mudar essas opções e tenham ficado assim:

1° A Manhã (x)
2° B Tarde (x)
3° D Manhã (x)
1° C Noite

Ou até mesmo assim:

1° A Manhã
2° B Tarde
3° D Manhã (x)
1° C Noite
Pronto agora como eu faria isso. O problema é que eu não consigo pensar em uma logica para fazer

Só pra salvar a alteração? É só vc submeter os dados novamente, se houver alteração ele vai atualizar, senão houver, ele deixa do jeito que tá. Mas vc vai usar um UPDATE no lugar de INSERT.

Exemplo, vc abriu a página de alunos e 30 alunos ficaram na turma A, quando vc abriu a página, todos já estavam com o Checkbox da turma A marcados…

Na hora de dar o UPDATE, vc vai passar todos, se houver alteração ele atualiza o que foi mudado, senão houver, ele da um UPDATE porém os resultados ficam os mesmos. Vc pode até fazer uma verificação pra isso, tipo:

if($oldvar == $newvar) {
   //não atualiza
} else {
   //atualiza
}

mas seria um trabalho a mais…