lui hurk 0 Denunciar post Postado Outubro 11, 2016 E aí pessoal estou com uma certa dificuldade de trabalhar com o checkbox, a dificuldade é como eu aloco os valores em colunas separadas no bd, vou tentar ser breve com figuras. Abaixo foi como desenvolvi até o produto: Na figura 1 indicam os código em PHP e html para a checkbox. Na figura 2 o formulário e as checkbox marcadas. Na figura 3 o cadastro realizado repetitivamente 4x conforme as marcações nas cheks. (problema) Na figura 4 o resultado conforme supracitado. Como pretendo: Obviamente sendo resolvido o problema na alocação de dados não repetirá os mesmos, então vai o exemplo; Observando conforme os comentários e, alocado de forma correta. alguém pode me ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
ygor.anjos 23 Denunciar post Postado Outubro 11, 2016 Simples, altere o nome dos checkbox recupere eles pelo nome no PHP separadamente retire o foreach do código PHP altere o banco de dados e a query para inserir os dados Compartilhar este post Link para o post Compartilhar em outros sites
lui hurk 0 Denunciar post Postado Outubro 11, 2016 Opa Ygor, vê se é por aqui... Disto: <input type='checkbox' name="spam[]" id="cd" value="cd"/> <label for="programada"> <strong>CD <strong> </label> Para : <input type='checkbox' name="cd" id="cd" value="cd"/> <label for="programada"> <strong>CD <strong> </label> eliminando o array "spam" No php: Disto: if ($_POST && isset($_POST['spam'])){ $spam = $_POST['spam']; $data1 = $_POST["data1"]; Para: $data1 = $_POST["data1"]; $cd = $_POST["cd"]; $sd = $_POST["sd"]; $rd = $_POST["rd"]; $sim = $_POST["sim"]; $nao = $_POST["nao"]; No BD e query. $string_sql = "INSERT INTO fo_inserir (id,data1,cd,sd,rd,sim,nao,) VALUES (null,'$data1', '$aes','$cd','$sd','$rd','$sim','$nao')"; mysql_query($string_sql,$conexao) or die(mysql_error()); if(mysql_affected_rows() == 1){ echo "<p>Cadastro feito com sucesso</p>"; echo '<a href="form.php">Voltar para formulário de cadastro </a>'; cadastro } else { echo " <h5><center> <p class= lass> <div class=\"alert alert-danger fade in\" role=\"alert\">Erro, não é possível inserir os dados no banco </div></center> </h5>'"; } mysql_close($conexao); Seria isto? Compartilhar este post Link para o post Compartilhar em outros sites
lui hurk 0 Denunciar post Postado Outubro 11, 2016 Então se for dentro desta instrução não de certo. Notice: Undefined index: cd in C:\xampp\htdocs\wwV\formFull\connsim\aescadastrar.php on line 16Notice: Undefined index: sd in C:\xampp\htdocs\wwV\formFull\connsim\aescadastrar.php on line 17Notice: Undefined index: sim in C:\xampp\htdocs\wwV\formFull\connsim\aescadastrar.php on line 19Cadastro feito com sucesso Voltar para formulário de cadastro As infos ficaram todas bagunçadas <div class="col-xs-8"> <div class="checkbox checkbox-success checkbox-inline"> <input type='checkbox' name="cd" id="cd" value="cd"/> <label for="cd"> <strong>CD <strong> </label> </div> <div class="checkbox checkbox-success checkbox-inline"> <input type='checkbox' name="sd" id="sd" value="sd"/> <label for="sd"> <strong>SD <strong> </label> </div> <div class="checkbox checkbox-success checkbox-inline"> <input type='checkbox' name="rd" id="rd" value="rd"/> <label for="rd"> <strong>RD <strong> </label> </div> <label class="control-label" for="inlineCheckbox9"> Condições Climáticas:</label> <div class="checkbox checkbox-success checkbox-inline"> <input type='checkbox' name="sim" id="sim" value="sim"/> <label for="sim"> <strong>SIM <strong> </label> </div> <div class="checkbox checkbox-success checkbox-inline"> <input type='checkbox' name="nao" id="nao" value="nao"/> <label for="nao"> <strong>NÃO <strong> </label> </div> </div> Compartilhar este post Link para o post Compartilhar em outros sites
lui hurk 0 Denunciar post Postado Outubro 11, 2016 AH! só pontuando uma questão, com o spam[], funcionava beleza e com o foreach. Compartilhar este post Link para o post Compartilhar em outros sites
lui hurk 0 Denunciar post Postado Outubro 12, 2016 Bom pessoal deu certo aqui: mantive o array; <div class="col-xs-8"> <div class="checkbox checkbox-success checkbox-inline"> <input type='checkbox' required name="spam[]" id="cd" value="cd"/> <label for="cd"> <strong>CD <strong> </label> </div> <div class="checkbox checkbox-success checkbox-inline"> <input type='checkbox' required name="spam[]" id="sd" value="sd"/> <label for="sd"> <strong>SD <strong> </label> </div> <div class="checkbox checkbox-success checkbox-inline"> <input type='checkbox' required name="spam[]" id="rd" value="rd"/> <label for="rd"> <strong>RD <strong> </label> </div> <label class="control-label" for="inlineCheckbox9"> Condições Climáticas:</label> <div class="checkbox checkbox-success checkbox-inline"> <input type='checkbox' required name="spam1[]" id="sim" value="sim"/> <label for="sim"> <strong>SIM <strong> </label> </div> <div class="checkbox checkbox-success checkbox-inline"> <input type='checkbox' required name="spam1[]" id="nao" value="nao"/> <label for="nao"> <strong>NÃO <strong> </label> </div> Acrescentei um índice [0] : Retornando o array de strings criado, por dividir o parâmetro da string em limites formados pelo delimitador. evitando erro de Undefined offset: ERRO qual mostrava. . Excluí o foreach; if(isset($_POST) && !empty($_POST)) { $spam = $_POST["spam"][0]; $spam1 = $_POST["spam1"][0]; $spam2 = $_POST["spam2"][0]; $spam3 = $_POST["spam3"][0]; $aes = $_POST["aes"]; $data1 = $_POST["data1"]; Refiz a query e o bd; E o resultado foi satisfatório: :D Obrigado Ygor. Compartilhar este post Link para o post Compartilhar em outros sites