Manipulando checkbox em PHP

Publicado por wiliam josé de barros em 17/11/2010

[ Hits: 16.674 ]

 


Manipulando checkbox em PHP



Vou começar esta dica pedindo uma licença ao pessoal que está um nível acima no aprendizado do PHP e àqueles que utilizam o POO, mas depois de quebrar muito a cabeça e pesquisar bastante na net para conseguir entender como funcionava para salvar em um banco de dados e recuperar os dados de uma checkbox, só encontrava soluções mirabolantes e complicadas de entender, até que juntando algumas soluções achei um jeito bem fácil de entender e fazer com que funcione.

Sei que não é o jeito menos trabalhoso de fazer, mas é o começo para se chegar lá... Os créditos não são meus, desculpe se não os coloco aqui, mas é que foram tantos fóruns visitados que já não sei mais de onde foram retirados os fragmentos disto, mas ficam os agradecimentos!

Eu precisava recolher umas informações durante uma entrevista e guardá-la em um banco de dados, tabela pessoal, para posterior consulta, na hora de decidir quem seria escolhido. Então primeiro criei um formulário para colher estes dados.

Enviando:

<form action= entrevista.php method=post>
<table width= 990>
<tr>
   <td width="102">Registro:</td>
   <td width="120"><input size = '10' type='text' name='rg' value='rg'></td>
   <td><input type="checkbox" name= "info" value="informática" />digitador</td>
   <td><input type="checkbox" name= "farmacia" value="farmacia" />farmacia</td>
   <td width="75">
   <input name='Gravar' value='Gravar' type='submit'>
   </td>
<tr>
</table>

Guardando no banco de dados:

<?php
if ($_POST['rg']);
{
$rg = $_POST['rg'];
$habil = $_POST['info']."-".$_POST['farmacia'];

$sql = mysql_query("INSERT INTO pessoal (`rg`, `habil`) VALUES('$rg', '$habil');

}
?>

Agora a parte que perdi mais tempo.

Recuperando estes dados e lançando nas checkbox:

<?php

$result = mysql_query("select rg, habil from pessoal where rg='$rg' ");
$dados_reg = mysql_fetch_array($result);
$teste = $dados_reg['habil'];

$aux = explode('-',$teste);
$info = $aux[0];
$farm = $aux[1];

$impr = $info;
$impr1 = $farm;

if($impr){
?>
<td><input type='checkbox' name='info' value="<?php $impr;?>" checked /><?php echo $impr;?></td>
<?php

}else
{
?>

<td><input type="checkbox" name= "info" value="informática" />digitador</td>
<?php
}

if($impr1){
?>
<td><input type='checkbox' name='farmacia' value="<?php $impr1;?>" checked /><?php echo $impr1;?></td>
<?php

}else
{
?>

<td><input type="checkbox" name= "farmacia" value="farmacia" />farmacia</td>
<?php
}
?>

Ah, e as que não estiverem marcadas retornam em branco, é claro.

E é isto aí, bem fácil, depois de tanto trabalho.

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Sintaxe das queries

Funções PHP relacionadas à HTML

Instalar composer no Windows

Instalando PHP 5 no Conectiva Linux 10

Upload de arquivos maiores que 2MB em PHP

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts