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

Problema resgatando valores do checkbox


Marcelo Menezes

Pergunta

Pessoal, boa tarde!

Estou com um problema em relação a checkbox, consigo inserí-los no BD serializando como mostro abaixo:

$dprojeto = array(); //Cria o Array

for($x=1; $x<=12; $x++){ //INÍCIO DO LOOP QUE VERIFICA QUAIS CHECKBOX ESTÃO MARCADOS

if(isset($_POST["dprojeto$x"])) { //SE ALGUM ESTIVER MARCADO INSERE SEU VALOR NA ARRAY

$dprojeto[] = $_POST["dprojeto$x"];}}

$s_dprojeto = serialize ($dprojeto);

Os valores do Array estão indo pro BD tranquilamente, quando tento resgatá-los para uma edição por exemplo como mostro abaixo:

*** Toda a conexão do BD é feita antes e está OK!

$id =$_GET["id"];

$sql = "SELECT * FROM os_des WHERE id={$id}";

$retorno= mysql_query($sql);// ler o retorno do banco de dados

$linha = mysql_fetch_array($retorno); // ler o retorno do banco

$s_dprojeto =$linha["dprojeto"];

$dprojeto = unserialize($s_dprojeto);// AQUI EU DESERIALIZO A STRING, RECUPERANDO O ARRAY CATEGORIA->VALOR.

A questão é :ninja: : Como faço para mostrar os checkbox "checados" com os valores que vem do banco?

Editado por Marcelo Menezes
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
$dprojeto = array();
$i=0;
foreach($_POST["dprojeto"] as $vet)
{
    $dprojeto[$i] = $vet;
    $i++;
}
$dprojeto = sort($dprojeto);

$id =$_GET["id"];
$sql = "SELECT * FROM os_des WHERE id={$id}";
$retorno= mysql_query($sql);// ler o retorno do banco de dados
$linha = mysql_fetch_array($retorno); // ler o retorno do banco
$linha = sort($linha);

for($i=0;$i<count($dprojeto);$i++)
{
    if($dprojeto[$i]==$linha[$i])
    {
        echo $dprojeto[$i].'='.$linha[$i];
    }
}

Editado por Renato Penna
Link para o comentário
Compartilhar em outros sites

  • 0
Crie uma condição antes de imprimir os resultados

compare o value do check box com o valor do check box c for = ele vai mostrar o Check box como checked c não ele mostra sem o checked

O problema é que tenho que imprimir em uma tabela, os checkbox estão em uma tabela.

<td width="145"valign="top"><p><input type="checkbox" name="dprojeto1" checked=<?php echo $projeto;?> id="dprojeto1"/>Arquitetônico</p></td>

<td width="127" valign="top"><p><input type="checkbox" name="dprojeto2" checked=<?php echo $projeto1;?> id="dprojeto2" />Ambientação</p></td>

<td width="185" valign="top"><p><input type="checkbox" name="dprojeto3" checked=<?php echo $projeto2;?> id="dprojeto3" />Climatização</p></td

<td valign="top"><p><input type="checkbox" name="dprojeto4" checked=<?php echo $projeto3;?> id="dprojeto4" />Elétrico</p></td>

<td valign="top"><p><input type="checkbox" name="dprojeto5" checked=<?php echo $projeto5;?> id="dprojeto5" />Estrutural</p></td>

<td valign="top"><p><input type="checkbox" name="dprojeto6" checked=<?php echo $projeto6;?> id="dprojeto6" />Hidráulico</p></td>

Link para o comentário
Compartilhar em outros sites

  • 0

crie um loop onde voc vai imprimindo os checkbox e vai fazendo a condição quando um for igual ao o outro ele acrescent o checked se não continua imprimindo os check box normalmente.

se você não consegui mais tarde depois do trampo vou bolar algo e posto aqui.

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...