Ir para conteúdo

Arquivado

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

Rafael Augusto_173176

Insert não ocorre se todos os checkbox não estiverem marcados

Recommended Posts

Boa noite pessoal,

 

Estou com um pequeno grande problema... tenho um insert que esta funcionando "OK", porem ele so funciona mesmo se todos os dados do meu formulario estiverem preenchidos, ate ai tudo bem, porem eu tenho alguns checkbox e naturalmente não precisarei marcar todos sempre, entao preciso de algo que atribua um valor a esses checkbox que não estiverem marcado para eles serem inseridos no bancos com um valor, tipo NULL ou DEFAULT, ou se alguem tiver uma solução melhor, seria otimo.

?php
    if(isset($_POST['cad_imovel'])){


    $sqlIm = $pdo->prepare("SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE table_name = 'imoveis'");
    $sqlIm->execute();

    $row = $sqlIm->fetchAll();


    $novoArray = array();
    foreach($row as $i => $array){
      $novoArray[] = $array['COLUMN_NAME'];

    }
    unset($novoArray[0]);
    $outro = array_pop($_POST);

    $stringSelect = implode(',', $novoArray);
    $postSelect = "'".implode("', '", $_POST)."'";


    $sqlInsert = $pdo->prepare("INSERT INTO imoveis (".$stringSelect.") VALUES (".$postSelect.")");



      $sqlInsert->execute();
      if($sqlInsert){
        echo "<div style=\"float: left; width: 100%;\" class=\"alert alert-success\" role=\"alert\">Imóvel cadastrado com sucesso!</div>";


      }else{
        echo "<div style=\"float: left; width: 100%;\" class=\"alert alert-danger\" role=\"alert\">Erro ao cadastrar imovel</div>";
      }
    }


  ?>

Já explicando porque estou usando dessa maneira ao inves de passar os valores diretamente... minha tabela contem muitas... mais de 100 colunas, então seria muito trabalhoso declarar tudo isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

basta você comparar se existe o envio do checkbox

if (isset($_POST["campo"])) {
  $campo = $_POST["campo"];
} else {
  $campo = "";
}

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.