Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17395
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Salvar todos inputs checkbox no banco de dados MySQL

28-04-2014 21:59

O objetivo desse script é pegar os checkbox de um formulário, e salvar no bd todos os checkbox, checados ou não.

Isso é útil se queremos ter uma lista de itens para que determinado usuário escolha, e salve no bd essas opções. Por exemplo

[v] campo um
[ ] campo dois


Como mostrado acima, o usuário pode escolher as opções que ele quer deixar checada ou não, depois, salva, e tudo fica armazenado no bd como array.

Para testar, inclua esse SQL no seu banco de dados

CREATE TABLE IF NOT EXISTS `valores` (   `id` INT(11) NOT NULL AUTO_INCREMENT,   `valor` longtext NOT NULL,   PRIMARY KEY (`id`) )   INSERT INTO `valores` (`id`, `valor`) VALUES (1, 'a:2:{s:8:"campo um";s:1:"1";s:10:"campo dois";s:1:"1";}');

Agora, crie um arquivo chamado teste.php e adicione o seguinte:

<?php // sua conexão ?>


<script src="jquery.js"></script>   <script> $(document).ready(function() { $('.c').bind("change", function() { var valores = new Array(); v = 0; mais = ''; $('.c').each(function() { if( $(this).prop('checked') == true ) { mais = 1; } else { mais = 0; } valores[v]=$(this).attr('name')+'|'+mais; v++; }); $('#campos').val(valores.join(',')); }); }); </script>


<?php $query=mysql_query("SELECT * FROM valores"); $v = unserialize(mysql_result($query , 0, "valor")); ?>


<form action="teste.php" method="post"> campo um <input type="checkbox" class="c" name="campo um" value="1" <?php if($v['campo um']==1) echo "checked"; ?>> <br /> campo dois <input type="checkbox" class="c" name="campo dois" value="1" <?php if($v['campo dois']==1) echo "checked"; ?>> <input type="hidden" name="campos" id="campos" value=""> <br /> <input type="submit" name="envia"> </form>


<?php if(isset($_POST['envia'])) { extract($_POST); $pro_bd = Array(); $v = explode(",", $campos); foreach($v AS $v1) { $v2 = explode("|", $v1); $pro_bd[$v2[0]] = $v2[1]; } mysql_query("UPDATE valores SET valor='".serialize($pro_bd)."' WHERE id='1'"); header('Location:teste.php'); } ?>

1
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum :rock:

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado