Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Good

[Resolvido] Array - Checkbox

Recommended Posts

Eu estou criando um pequeno sistema em que o usuário escolhe quais opções de uma checkbox ele.. mas depois ele pode editar no painel de edição da conta do usuário.

 

Eu estou usando isso para pegar os valores escolhidos do checkbox, depois da o implode para gravar no banco de dados

 

    if(is_array($_POST['interessestrabalho'])){
    $interessestrabalho = implode(' <b>|</b> ',$_POST['interessestrabalho']);
    } else {
    $interessestrabalho = $_POST['interessestrabalho'];
    }

 

 

Só que eu estou com um problema no painel de edição da conta, lá irá aparecer todas as checkbox e eu queria fazer com que as checkbox que ele escolheu ficassem checadas (escolhidas)!

 

      <input type="checkbox" name="interessestrabalho[]" value="Pagos" />
      Pagos<br />
      <input type="checkbox" name="interessestrabalho[]" value="TPF(Troca por Foto)" />
      TPF(Troca por Foto)<br />
      <input type="checkbox" name="interessestrabalho[]" value="Depende do trabalho" />
      Depende do trabalho<br />
      <input type="checkbox" name="interessestrabalho[]" value="Todos" />
      Todos

 

Eu tentei usar o explode(" <b>|</b> ", $sistema['interessestrabalho']);

 

só que como é que eu faria a parte de ver se ele escolheu ou não as opções do checkbox?

 

 

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, como provavelmente estarao em um form faça assim:

 

<html>
<body>
<form action="seuArquivo.php" method="POST">
	<input type="checkbox" name="PrimeiroCheckbox">
	<input type="checkbox" name="SegundoCheckbox">
	<input type="submit" value="Enviar">
</form>

    <?php
        if($_POST["PrimeiroCheckbox"])
        {
            echo("O primeiro checkbox foi Selecionado!<br>\n");
        }
        if($_POST["SegundoCheckbox"])
        {
            echo("O segundo checkbox foi Selecionado!<br>\n");
        }
    ?>
</body>
</html>

Abracos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, eu utilizaria um in_array. Algo assim.

 

<input type="checkbox" name="interessestrabalho[]" <?php echo in_array('Pagos', $array) ? 'checked="checked"' : '';  ?> value="Pagos" />

http://br.php.net/in_array

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

A do matias é a que eu queria.. pois os valores são armazenados no banco de dados..

 

 

vlw ae vcs 2

 

mas agora to com outra dúvida... como eu faço para pegar os valores do banco de dados e fazerem ser listados como array?

 

$query_user = mysql_query("SELECT artenocorpo FROM usuarios WHERE id = '".$my_row['id']."' LIMIT 1") or die(mysql_error());

  $arrayDados = array();
  
  while($query_use = mysql_fetch_array($query_user)) {

  $array[] = $query_use['artenocorpo'];
  
  };

       <input type="checkbox" name="artenocorpo[]"<?php echo in_array('Tatuagem em lugar estratégico', $array) ? 'checked="checked"' : '';  ?> value="Tatuagem em lugar estratégico" />

 

Só que ele não tá marcando os checkbox..os valores no banco de dados estão sendo guardados assim:

Tatuagem em lugar estratégico <b>|</b> Outros

 

Se essa não for a maneira adequada.. me digam ae qual a melhor maneira, pra se fazer esse array..

 

vlw..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

Array ( [0] => )

 

 

apareceu isso..

 

 

 

Mas cara.. o valor guardado no banco de dados tá assim no campo:

 

Tatuagem em lugar estratégico <b>|</b> Outros

 

aí é só fazer um jeito de pegar o valor no banco de dados (isso é fácil), e depois fazer tipo uma separação dos valores para fazer a checagem de um em um no html..

 

 

PARTE HTML DE QUAL DEVE SER FEITO A CHECAGEM..:

 

<input type="checkbox" name="interessestrabalho[]" value="Pagos" />
      Pagos<br />
      <input type="checkbox" name="interessestrabalho[]" value="TPF(Troca por Foto)" />
      TPF(Troca por Foto)<br />
      <input type="checkbox" name="interessestrabalho[]" value="Depende do trabalho" />
      Depende do trabalho<br />
      <input type="checkbox" name="interessestrabalho[]" value="Todos" />
      Todos

 

só que eu não to sabendo colocar o checked, caso o valor que tá no banco de dados (Tatuagem em lugar estratégico <b>|</b> Outros) for igual ao valor do campo checkbox..

 

Eu coloquei um implode ( <b>|</b> ) nos valores que são salvados no banco de dados.. e eu vou precisar dele para outra coisa que não tem nada a ver com isso..

 

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o print_r() retornou assim, significa que não foi nada para a $array. Outra coisa, você não precisa de um while, já que só tem um resultado (limit 1). Então, você pode fazer algo assim.

 

$query_user = mysql_query("SELECT artenocorpo FROM usuarios WHERE id = '".$my_row['id']."' LIMIT 1") or die(mysql_error());

$query_use = mysql_fetch_array($query_user)

?>
       <input type="checkbox" name="artenocorpo[]"<?php echo strpos($query_use['artenocorpo'], 'Tatuagem em lugar estratégico') ? 'checked="checked"' : '';  ?> value="Tatuagem em lugar estratégico" />

Veja se resolve.

http://br.php.net/strpos

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz assim..:

 

<?php if(!empty($_POST['interessestrabalho'])){ echo in_array("Pagos",$interessestrabalho) ? "checked=\"checked\"" : "";}?>

Eu fiz umas coisas ae q deu certo..

 

Vlw ae.. foi quase a mesma maneira q você postou antes..

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.