Jump to content
Fórum Script Brasil
  • 0

Problema resgatando valores do checkbox


Marcelo Menezes

Question

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?

Edited by Marcelo Menezes
Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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];
    }
}

Edited by Renato Penna
Link to comment
Share on other 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

Link to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...