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:

Marca Desejada

Sony LG CCE Samsung (Todos eles tem 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.

Estou quebrando a cabeça, já tentei usar um if mas não consegui....

Se alguém já teve esse problema me ajude

Abs

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Cara você deu sorte!!! laugh.gif

Há um tempo atrás eu tava tentando desenvolver uma maneira de fazer isso aí para o meu site com os checkbox de Interesses saca? rolleyes.gif

□ Opção 1

□ Opção 2

□ Opção 3

Mas não tava conseguindo nem salvar e nem trazer de volta. dry.gif

Então depois de muita quebrada de cabeça consegui chegar a uma solução (Não muito prática mas aqui no meu serviço usamos em Delphi mas o código eu desenvolvi para PHP) tongue.gif

Para salvar...

// Note que a variável $checkbox é uma string
$checkbox = $chk1;
$checkbox .= $chk2;
$checkbox .= $chk3;
$checkbox .= $chk4;
$checkbox .= $chk5;
include("conecta.php"); // minha conexão com o banco está aqui... (nada d+)
if (!mysql_query("insert into login (log_interesses) values ('$checkbox')")) { // repare que estou passando $checkbox como string
  $mensagem = "Erro:".mysql_error();
  echo "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=erro.php'>"; } // se der erro retorno para a página de erro
else { echo "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'>"; } // se deu certo redireciono para o index.php
E para trazer...
$query = mysql_query("select log_interesses from login where log_login = '$login'"); // faço o select
$retorno = mysql_fetch_array($query); // passo para a variável retorno
$checkbox = $retorno[0]; // passo a STRING do log_interesses para a $checkbox (Suponhamos que ela esteja com o valor 15)
for ($ni = 1; $ni < 6; $ni++) { // faço o for porque eu tenho 5 opções
  switch ($ni) {
    case 1: $interesses = "Opção 1";
    break;
    case 2: $interesses = "Opção 2";
    break;
    case 3: $interesses = "Opção 3";
    break;
    case 4: $interesses = "Opção 4";
    break;
    case 5: $interesses = "Opção 5";
    break;
  }
  if (strpos($checkbox,"$ni")>-1) // aqui eu vejo se existe o número do check na string (se existir ele fica 'checked')
    echo "        <input name='check$ni' id='check$ni' type='checkbox' value='$ni' checked>$interesses\n";
  else
    echo "        <input name='check$ni' id='check$ni' type='checkbox' value='$ni'>$interesses\n";
}

Vai ficar +/- assim

■ Opção 1 □ Opção 2 □ Opção 3 □ Opção 4 ■ Opção 5

Deslculpa os comentários desnecessários no código mas eu fiz isso pra você poder entender sem problemas (porque as vezes nem eu me entendo tongue.gif )

Editado por McBlade
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,6k
×
×
  • Criar Novo...