Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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?
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?
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 16
Notice: Undefined index: sd in C:\xampp\htdocs\wwV\formFull\connsim\aescadastrar.php on line 17
Notice: Undefined index: sim in C:\xampp\htdocs\wwV\formFull\connsim\aescadastrar.php on line 19
Cadastro 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>AH! só pontuando uma questão, com o spam[], funcionava beleza e com o foreach.
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.
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