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


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Como deixar checkbox selecionado conforme banco

02-01-2012 19:17

Uma dúvida. Tentei aqui e não sei onde estou errando.
Tenho 2 tabelas:
A primeira, com os valores dos checkbox. Exemplo:
• check1
• check 2
• check 3
E tenho uma outra tabela que contem um campo "check": check1,check2
É um form de edição.
Fiz um explode no campo check e com um foreach tenho os valores separadamente.
O problema que quando faço a comparação, deveria ficar o check 1 e check 2 selecionados e não está funcionando.
Pode me dar uma dica?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Como deixar checkbox selecionado conforme banco

02-01-2012 20:13

Então você tem os valores fixos da consulta:

• check1
• check 2
• check 3

E quer comparar com os valores "explodidos" e mostrar checados ou não?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Como deixar checkbox selecionado conforme banco

03-01-2012 09:35

Exato.
Os valores são fixos, mas vem de uma tabela do banco também.
E quero comparar com outra tabela.
Os que conferem ficam selecionados.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Como deixar checkbox selecionado conforme banco

03-01-2012 15:08

Montei uma base para você adaptar.

Você tem que criar um array com os valores que há no bd para comparar com os valores do checkbox, através da função.

<?php function no_array($valor) { $Array = array('sim', 'talvez'); if(in_array($valor, $Array)) { return 'checked="checked"'; } } ?> <input type="checkbox" name="campo" value="sim" <?php echo no_array('sim'); ?>> <input type="checkbox" name="campo" value="nao" <?php echo no_array('nao'); ?>> <input type="checkbox" name="campo" value="talvez" <?php echo no_array('talvez'); ?>>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Como deixar checkbox selecionado conforme banco

04-01-2012 00:06

Pois então. Dê uma olhada e veja o que estou fazendo errado.

<?php  function verifica($ver) { $compara = explode(",",$tabela); //Aqui tenho o valor para compara. exemplo $tabela = check1,check3  if (in_array($ver, $compara)) { return 'checked="checked"'; }} $sql = "SELECT * FROM checks";     $qry = mysql_query($sql); while ($res = mysql_fetch_array($qry)){ $valor = $linha['check']; //Aqui listo as opções de checks. Exemplo: check1  -  check2   -   check3 ?> <input type="checkbox" name="txt_pgto[]" <?php echo verifica($valor); ?>/> <?php echo $valor;?> <?php  }  ?>

Não rolou. Deveria ficar selecionados neste exemplo: check1 e check3. Deve ser simples, problema de aprendiz. hehe...
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Como deixar checkbox selecionado conforme banco

04-01-2012 13:02

while ($res = mysql_fetch_array($qry)){
$valor = $linha['check']; //Aqui listo as opções de checks. Exemplo: check1 - check2 - check3

De onde vem $linha? Deveria ser referente ao while, $res
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Como deixar checkbox selecionado conforme banco

04-01-2012 16:37

Eu que digitei errado ali.
Está listando as opções certinho e pegando os resultados das duas tabelas, mas é como se não le o resultado do explode, pois se eu colocar escrito tipo $array = array("check1", "check3"); Vai beleza. Mas pelo resultado do explode não.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Como deixar checkbox selecionado conforme banco

04-01-2012 16:42

É porque $tabela está sendo criado fora da função, e não deve estar como global.

Com base no exemplo que postei, testa dessa forma

<?php $tabela = "sim,talvez"; function no_array($valor) { global $tabela; $Array = explode(',', $tabela); if(in_array($valor, $Array)) { return 'checked="checked"'; } } ?>

Adapta para seu caso.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Como deixar checkbox selecionado conforme banco

04-01-2012 21:14

Beleza agora funcionou. Bem isso mesmo.
0

Quem está online

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