Nelson Pasquarelli Postado Agosto 13, 2012 Denunciar Share Postado Agosto 13, 2012 Boa tarde.Sou amador em php, e estou com um probleminha, nunca trabalhei com checkbox, procurei no google mais não achei.Eu precisa ter umas checkbox, onde teriam umas informações que eu iria precisar futuramente, até pra alterar.<input type="checkbox" name="materias[]" id="materia0" value="0"/>História<br> <input type="checkbox" name="materias[]" id="materia1" value="1"/>Matemática<br> <input type="checkbox" name="materias[]" id="materia2" value="2"/>Geografia<br> <input type="checkbox" name="materias[]" id="materia3" value="3"/>PortuguêsEu precisava que esse texto "História - Descrição da matéria história." por exemplo, fosse pra algum campo, e que eu pudesse alterar se necessario.Não sei se esses checkbox eu buscaria de uma tabela.No final eu ia precisar que mostrasse o conteúdo das checkbox que eu selecionei em forma de texto, usando um echo.Não sei se deu pra entender. Caso for necessário eu zipo meus arquivos e mando.Desde já agradeço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Wilson Tamarozzi Jr. Postado Agosto 13, 2012 Denunciar Share Postado Agosto 13, 2012 Olha amigo, eu até sei usa check box, mas não consegui entender muito bem o seu objetivo, tente dizer oque exatamente ta querendo fazer.Exemplo: Sistema de nota de alunos, onde eu verifico se bla bla bla ... :)para verificar um checkbox em php, precisaria de um switch vo da um exemplo mas não lembro se a sintaxe esta correta<?php //verifica se você clico enviar no formulario if(isset($_POST['enviar'])) { switch($variavel) { case 'opcao1': { //faz o que você quer } break; case 'opcao2': { //faz o que voce quer } break; } } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nelson Pasquarelli Postado Agosto 13, 2012 Autor Denunciar Share Postado Agosto 13, 2012 É um cadastro, eu preencho todo o cadastro, suas textfilds e etc, e nele tem os checkbox que contém as matérias.Escolha as matérias:[ ] História [X] Matemática[ ] Geografia[X] PortuguêsAi eu escolho por exemplo "matemática e português" e clico para cadastrar.Esses checkbox que eu escolhi tem que aparecer pra mim caso eu vá consultarMatérias escolhidas:MatématicaPortuguêsE na hora de alterar, vai aparecer as checkbox que eu tinha selecionado[ ] História [X] Matemática[ ] Geografia[X] PortuguêsAi faço a alteração.[ ] História [ ] Matemática[X] Geografia[X] PortuguêsO cadastro alterado:Matérias escolhidas:GeografiaPortuguêsDeu pra entender Wilson? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Wilson Tamarozzi Jr. Postado Agosto 13, 2012 Denunciar Share Postado Agosto 13, 2012 Acho que entendi, antes de tudo você tem uma tabela de materias ou é diretão mesmo?? Creio eu que voce grave uma materia em casa campo do seu banco se for assimvamos supor que na sua tabela você gravo "geografia"para retorna apenas o que foi cadastrado eu faria assim<input type="checkbox" name="option1" value="<?php echo $variavel; ?>"><?php echo $variavel; ?><br>Se você só tiver um campo para materias, então você teria que gravar as materias com espaço e depois dar um explode para separar os nome pelo espaçose você tiver um campo para cada materia, então você usa um while, para poder retornas todasDesculpa se não é isso que você queira. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nelson Pasquarelli Postado Agosto 13, 2012 Autor Denunciar Share Postado Agosto 13, 2012 Então, tem uma tabela "db_materias", com campo "id_materia" e "nome_materia".Mais eu tenho a tabela principal, "db_cadastro", onde tem todos os dados.Nome: ______________________Data de Nasc: ___/___/___Matérias:[ ] História [ ] Matemática[ ] Geografia[ ] PortuguêsEu crio um campo individual pra cada matéria dentro da "db_cadastro".<input type="checkbox" name="option1" value="<?php echo $materia_hist; ?>"><?php echo $materia_hist; ?><br><input type="checkbox" name="option2" value="<?php echo $materia_mat; ?>"><?php echo $materia_mat; ?><br><input type="checkbox" name="option3" value="<?php echo $materia_geo; ?>"><?php echo $materia_geo; ?><br><input type="checkbox" name="option4" value="<?php echo $materia_por; ?>"><?php echo $materia_por; ?><br> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nelson Pasquarelli Postado Agosto 13, 2012 Autor Denunciar Share Postado Agosto 13, 2012 <?php $sql = mysql_query("SELECT * FROM db_materias ORDER BY nome_materias"); while($linha = mysql_fetch_array($sql)){ $id_materias = $linha['id_materias']; $nome_materias = $linha['nome_materias']; $desc_materias = $linha['desc_materias']; ?> <input type="checkbox" name="materias" value="<?php echo $nome_materias; ?>"><?php echo $nome_materias; ?><br /> <?php } ?>Ai adicionei na página que tem as funções a variável "materias" e adicionei na tabela "db_cadastro" o campo "materias", para receber as informações do checkbox, porém ele adiciona, só que apenas o último check box clicado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nelson Pasquarelli Postado Agosto 14, 2012 Autor Denunciar Share Postado Agosto 14, 2012 Eu to postando o código, pra ver se ajuda ter uma luz. :rolleyes: Formulário<form id="form1" name="form1" method="post" action="funcao.php?funcao=gravar" enctype="multipart/form-data"> Nome: <input name="aluno_nome" type="text" id="aluno_nome" size="50" /> Curso: <input name="curso" type="text" id="curso" size="50" /> Matérias: <input name="materia[]" type="checkbox" id="materia[]" value="Geografia">Geografia<br> <input name="materia[]" type="checkbox" id="materia[]" value="Matematica">Matematica<br> <input name="materia[]" type="checkbox" id="materia[]" value="Historia">Historia<br> Valor: <input name="valor" type="text" id="valor" size="50" /> Desconto: <input name="desconto" type="text" id="desconto" size="50" /> Cadastrar Imagem? <input type="radio" name="enviar_imagem" id="enviar_imagem" onclick="document.form1.arquivo.disabled=false" value="sim" />SIM <input type="radio" name="enviar_imagem" id="enviar_imagem" onclick="document.form1.arquivo.disabled=true" value="não" checked="checked" />NÃO Imagem <input name="arquivo" type="file" disabled="disabled" id="arquivo" size="25" /> <input type="submit" name="button" id="button" value="Cadastrar" /> </form> Página "funcao.php" <? $aluno_nome = $_POST['aluno_nome']; $curso = $_POST['curso']; $materia = $_POST['materia']; $valor = $_POST['valor']; $desconto = $_POST['desconto']; $enviar_imagem = $_POST['enviar_imagem']; if($_GET['funcao'] == "gravar" && $enviar_imagem == "sim" && is_file($_FILES['arquivo']['tmp_name'])){ $foto = $_FILES['arquivo']['name']; $foto = str_replace("á", "a", $foto); $foto = eregi_replace("[`´~^°]", "", $foto); $foto = strtolower($foto); if(!eregi("^image\/(jpeg|png|gif|pjpeg|jpg)$", $_FILES['arquivo']['type'])){ echo " <META HTTP-EQUIV=REFRESH CONTENT='0; URL=cadastro.php'> <script type=\"text/javascript\"> alert(\"Formato inválido\"); </script> "; }else{ if(file_exists("fotos/$foto")){ $a = 1; while(file_exists("fotos/[$a]$foto")){ $a++; } $foto = "[".$a."]".$foto; } if(!move_uploaded_file($_FILES['arquivo']['tmp_name'], "fotos/".$foto)){ echo" <META HTTP-EQUIV=REFRESH CONTENT='0; URL=cadastro.php'> <script type=\"text/javascript\"> alert(\"Erro ao enviar o arquivo.\"); </script> "; } } if(isset($_POST['materia'])) { for($i = 0; $i < count($_POST['materia']); $i++) { echo "A cor ".$_POST['materia'][$i]." foi selecionada!<br />"; } } $sql = mysql_query("INSERT INTO sis_alunos (foto, aluno_nome, curso, materia, valor, desconto) value ('$foto', '$aluno_nome', '$curso', '$materia', '$valor', '$desconto')"); header("Location: cadastro.php"); } if($_GET['funcao'] == "gravar" && $enviar_imagem != "sim" && !is_file($_FILES['arquivo']['tmp_name'])){ $sql = mysql_query("INSERT INTO sis_alunos (aluno_nome, curso, materia, valor, desconto) value ('$aluno_nome', '$curso', '$materia', '$valor', '$desconto')"); header("Location: cadastro.php"); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Raul Pereira Postado Agosto 15, 2012 Denunciar Share Postado Agosto 15, 2012 Você pode colocar um novo campo na tabela ex: ativo;Na hora do cadastro você coloca se ele esta ativo (0/1) ou (ativo/inativo).Depois na hora de alterar você utiliza a seguinte informação:<input name="geografia" type="checkbox" value="1" <?php if ($ativo == 1){ echo "checked";} ?>> // aparece<input name="historia" type="checkbox" value="0" <?php if ($ativo == 1){ echo "checked";} ?>> // não aparece <input name="portugues" type="checkbox" value="0" <?php if ($ativo == 1){ echo "checked";} ?>> // não apareceQualquer dúvida me manda um email:raulbfs@gmail.comAbraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Nelson Pasquarelli
Boa tarde.
Sou amador em php, e estou com um probleminha, nunca trabalhei com checkbox, procurei no google mais não achei.
Eu precisa ter umas checkbox, onde teriam umas informações que eu iria precisar futuramente, até pra alterar.
Eu precisava que esse texto "História - Descrição da matéria história." por exemplo, fosse pra algum campo, e que eu pudesse alterar se necessario.
Não sei se esses checkbox eu buscaria de uma tabela.
No final eu ia precisar que mostrasse o conteúdo das checkbox que eu selecionei em forma de texto, usando um echo.
Não sei se deu pra entender. Caso for necessário eu zipo meus arquivos e mando.
Desde já agradeço
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.