Manipulando checkbox em PHP

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

[ Hits: 15.592 ]

 


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

Traduzido o guia PHP-Nuke for Idiots

Instalando o LAMP no Linux Mandriva 2008 Spring

Convertendo scripts em ASP para PHP

Resolvendo problema com Apache 2 e PHP 5

PHP orientado a objeto com MySQL e AJAX - Seleção de estado e cidade

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário