Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal tenho uma tabela no banco assim
|id | posicao | pontos |
o código esta como segue abaixo, consigo gravar no banco somente at´1 o input posição 10
depois ele pula do 11 até o 23 e grava o Posição 24
O que estou fazendo de errado?
if(isset($_POST['cadastrar'])){
$posicao=$_POST["posicao"];
$pontos=$_POST["pontos"];
foreach(array_combine($pontos, $posicao) as $d => $t){
$posicaoChegada = $t;
$pontosEtapa = $d;
$pontuacaoa = $pdo->prepare("INSERT INTO contador (posicao, pontos) VALUE(?,?)");
$pontuacaoa->bindValue("1",$posicaoChegada);
$pontuacaoa->bindValue("2",$pontosEtapa);
$result_pontos = $pontuacaoa->execute();
if ($result_pontos){
echo'Sucesso';
}else{
echo'Erro';
}
}
}
<form name="form1" method="post" action="" enctype="multipart/form-data">
Posicao1
<input type="text" name="pontos[]" value="12">
<input type="text" name="posicao[]" value="1">
<br>
Posicao2
<input type="text" name="pontos[]" value="10">
<input type="text" name="posicao[]" value="2">
<br>
Posicao3
<input type="text" name="pontos[]" value="8">
<input type="text" name="posicao[]" value="3">
<br>
Posicao4
<input type="text" name="pontos[]" value="7">
<input type="text" name="posicao[]" value="4">
<br>
Posicao5
<input type="text" name="pontos[]" value="6">
<input type="text" name="posicao[]" value="5">
<br>
Posicao6
<input type="text" name="pontos[]" value="5">
<input type="text" name="posicao[]" value="6">
<br>
Posicao7
<input type="text" name="pontos[]" value="4">
<input type="text" name="posicao[]" value="7">
<br>
Posicao8
<input type="text" name="pontos[]" value="3">
<input type="text" name="posicao[]" value="8">
<br>
Posicao9
<input type="text" name="pontos[]" value="2">
<input type="text" name="posicao[]" value="9">
<br>
Posicao10
<input type="text" name="pontos[]" value="1">
<input type="text" name="posicao[]" value="10">
<br>
Posicao11
<input type="text" name="pontos[]" value="0">
<input type="text" name="posicao[]" value="11">
<br>
Posicao12
<input type="text" name="pontos[]" value="0">
<input type="text" name="posicao[]" value="12">
<br>
Posicao13
<input type="text" name="pontos[]" value="0">
<input type="text" name="posicao[]" value="13">
<br>
Posicao14
<input type="text" name="pontos[]" value="0">
<input type="text" name="posicao[]" value="14">
<br>
Posicao15
<input type="text" name="pontos[]" value="0">
<input type="text" name="posicao[]" value="15">
<br>
Posicao16
<input type="text" name="pontos[]" value="0">
<input type="text" name="posicao[]" value="16">
<br>
Posicao17
<input type="text" name="pontos[]" value="0">
<input type="text" name="posicao[]" value="17">
<br>
Posicao18
<input type="text" name="pontos[]" value="0">
<input type="text" name="posicao[]" value="18">
<br>
Posicao19
<input type="text" name="pontos[]" value="0">
<input type="text" name="posicao[]" value="19">
<br>
Posicao20
<input type="text" name="pontos[]" value="0">
<input type="text" name="posicao[]" value="20">
<br>
Posicao21
<input type="text" name="pontos[]" value="0">
<input type="text" name="posicao[]" value="21">
<br>
Posicao22
<input type="text" name="pontos[]" value="0">
<input type="text" name="posicao[]" value="22">
<br>
Posicao23
<input type="text" name="pontos[]" value="0">
<input type="text" name="posicao[]" value="23">
<br>
Posicao24
<input type="text" name="pontos[]" value="0">
<input type="text" name="posicao[]" value="24">
<br><br>
<input type="submit" name="cadastrar" value="cadastrar">
<br>
</form>>
14 horas atrás, wolfphw disse:
Olha eu não sei como funciona certinho essa sua linha
foreach(array_combine($pontos, $posicao) as $d => $t){
Mas eu faria assim, teste ai e vê se funciona
if(isset($_POST['cadastrar'])){
$posicao=$_POST["posicao"];
$pontos=$_POST["pontos"];
for ($i=0; $i<count($posicao); $i++) {
$posicaoChegada = $posicao[$i];
$pontosEtapa = $pontos[$i];
$pontuacaoa = $pdo->prepare("INSERT INTO contador (posicao, pontos) VALUE(?,?)");
$pontuacaoa->bindValue("1",$posicaoChegada);
$pontuacaoa->bindValue("2",$pontosEtapa);
$result_pontos = $pontuacaoa->execute();
if ($result_pontos) {
echo'Sucesso';
} else {
echo'Erro';
}
}
}
Deu certo, muito obrigado wolfphw, vou analisar o código pra ver onde e pq eu estava fazendo errado.
Obrigado mais uma vez
Olha eu não sei como funciona certinho essa sua linha
foreach(array_combine($pontos, $posicao) as $d => $t){
Mas eu faria assim, teste ai e vê se funciona