Ir para conteúdo
Fórum Script Brasil
  • 0

Trabalhando Com Checkbox


Eduardo Cocite

Pergunta

Preciso da ajuda de vocês,

Tenho um fomrulário em HTML com a seguinte característica:

Nome do usuário

Sexo: Masculino e Feminino (Em checkbox)

É parte de um fomulário de cadastro, só q esses dados poderão ser alterados...

Só que quando retorno as informações em php os checkbox ficam desmarcados. Já os campos do tipo texto retorna naturalmente as informações que foram armazenadas no banco.

Banco de Dados:

id integer not null auto_increment;

nome varchar(35);

sexo varchar(20);

primary key(id));

Vou colocar o código logo abaixo:

index.htm

<p>Cadastro de Teste</p>

<form id="form1" name="form1" method="post" action="cad.php">

<p>

<label>nome

<input name="nome" type="text" id="nome" />

</label>

</p>

<p>Sexo:

<label>

<input name="sexo" type="checkbox" id="sexo" value="masculino" />

Masculino</label>

<label>

<input name="sexo" type="checkbox" id="sexo" value="feminino" />

Feminino</label>

</p>

<p>

<label>

<input name="Enviar" type="submit" id="Enviar" value="Enviar" />

</label>

<label>

<input name="Apagar" type="reset" id="Apagar" value="Apagar" />

</label>

</p>

</form>

<p>&nbsp; </p>

cadd.php

<?php

import_request_variables("gP");

//conecta ao banco de dados MySql

mysql_connect("localhost","root","");

//seleciona o banco de dados a ser usado

mysql_select_db("banco");

$sql="insert into dados values(null,'$nome','$sexo')";

mysql_query($sql);

?>

<script>

alert('Seus Dados foram cadastrados com sucesso!');

</script>

alterar.php

<?php

import_request_variables("gP");

mysql_connect("localhost","root","");

mysql_select_db("banco");

$sql = "update dados set nome='$nome',sexo='$sexo' where id=".$id;

mysql_query($sql);

header("location: lista.php");

?>

faltd.php

<?php

import_request_variables("gP");

mysql_connect("localhost","root","");

mysql_select_db("banco");

$sql="select * from dados where id =".$id;

mysql_query($sql);

$result_id = mysql_query($sql);

$total = mysql_num_rows($result_id);

if ($total)

{

$dados = mysql_fetch_array($result_id);

}

else

{

echo"Nenhum Dado Cadastrado.";

}

?>

<html>

<head>

<title>Formulário de Alteração</title>

</head>

<body bgcolor=skyblue>

<form action=alterar.php method=post name=form>

<table>

<tr>

<td>Nome</td>

<td><input type=text name=nome value="<?php echo $dados['nome'];?>" size=30 maxlength=30></td>

</tr>

<tr>

<td>Sexo:</td>

<td><input type=checkbox name=sexo value=masculino></td>

<td><input type=checkbox name=sexo value=feminino></td>

</table>

<br>

<input type=submit name=envia value=Enviar>

<input type=hidden" name="id" value=<?php echo $dados["id];?>

<input type=reset name=apaga value="Limpar Formulário">

</form>

</body>

</html>

Agradeço se alguém puder me ajudar...

Lembro que já postei sobre esse assunto, só que os códigos que recebi não funcionaram, por isso estou colocando o meu código para que vocês possam entender o que quero fazer.

Abs.

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

faz assim oh... você esta colocando os value dos text com os valores que você esta pegando no banco de dados, certo?

no caso dos checkbox... você vai ter q comparar qual valor esta no banco.. e entaum checar o checkbox correspondente...

vejamos..

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Reginaldo Silveira
faz assim oh... você esta colocando os value dos text com os valores que você esta pegando no banco de dados, certo?

no caso dos checkbox... você vai ter q comparar qual valor esta no banco.. e entaum checar o checkbox correspondente...

vejamos..

PHP

<input type=checkbox name=sexo value=masculino <?=$dados['sexo'] == "masculino" ? "checked" : ""; ?>>

<input type=checkbox name=sexo value=feminino <?=$dados['sexo'] == "feminino" ? "checked" : ""; ?>>

eu fiz o seguinte...

essa tag " <?= " é a mesma coisa que o seu " <?php echo "

e o resto é igual a um " if " e um " else "

PHP
=$dados['sexo'] == "masculino" ? "checked" : "";

significa...

que vai imprimir Se $dados['sexo] compara a masculino "checked" senão "" (não imprime nada)

falou

Caro johnle,

Tudo tranquilo?

Voce ajudou um companheiro no forum com este post e provavelmente centenas de usuarios do php e mysql, e eu faço parte de um deles!

Abradeço juntamente a ajuda! ohmy.gif)

Aproveitando a oportunidade, eu tenho tambem as caixas de seleções "<select" option e estou com este mesmo problema, terias tambem uma solução semelhante???

Um forte abraço desde já!

Reginaldo Silveira

Link para o comentário
Compartilhar em outros sites

  • 0

olá! fico contente em ter ajudado!

peço desculpas por não estar mt frequentemente aqui... to mt "longe" de uns tempos pra cá...

vamos ser se consigo ajudar... não sei mt bem o q você quer.. e não sei quando vou poder responder de novo então vou colocar um exemplo que sempre uso...

Link para o comentário
Compartilhar em outros sites

  • 0

aqui está um exemplo um pouco mais fácil de entender eu acredito...

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...