Ir para conteúdo
Fórum Script Brasil
  • 0

Inputs dentro de While


mikefigueiredo

Pergunta

Gostaria de saber como posso fazer para ter inputs enviando valores diferentes dentro de um loop do while...

<form method="POST" name="form" action="<?php echo $_SERVER['PHP_SELF'];?>">
<?php while ($linhasMotoristas = mysqli_fetch_array($consultaMotoristas)) {
$motoristasStatus = $linhasMotoristas['status'];
$motoristasId = $linhasMotoristas['idmotoristas'];
$motoristasNome = $linhasMotoristas['nome'];
$motoristasCpf = $linhasMotoristas['cpf'];
$motoristasGanhos = $linhasMotoristas['ganhos']
?>
<tr>
<td class="s">
<?php 
if($motoristasStatus == 1){
echo "<div style='color: green;'>●</div>";
}else{echo "<div style='color: red;'>●</div>";
}
?>
</td>
<td class="m"><?php echo $motoristasId;?></td>
<td class="n"><?php echo $motoristasNome;?></td>
<td class="c"><input type="hidden" name="<?php $td_1 = $motoristasId;?>"><?php echo $motoristasCpf;?>
</td>
<td class="g"><?php echo round($motoristasGanhos, 2);?></td>
<td>										
<input type="text" name="valorBruto">
<input type="submit" name="submit">
<?php
if (isset($_POST['submit'])?$_POST['submit'] : 0) {
$valorBruto = $_POST['valorBruto'];
$porcentagemBase = 5/100;
$encargosBase = 25/100;
$vezesPorcentagem = $valorBruto*$porcentagemBase;
$menosEncargosBase = $vezesPorcentagem-$encargosBase;
$resultadoLiquido = $menosEncargosBase*$porcentagemBase;
$resultadoGeral = $resultadoLiquido;
}
?>
<?php echo round($resultadoGeral,2); ?>
<?php echo $td_1;?>
</td>
</tr>
<?php } ?>
</form>

Como vocês podem ver na imagem, ele soma todos os campos com o mesmo valor, queria que somasse um valor para cada campo...

camps.png

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Primeiro você precisa decidir se o usuário vai poder alterar várias linhas de uma só vez.

Se sim você não precisa colocar o botão dentro do loop, porque um formulário, só precisa de um botão.

Caso contrário, você tem que colocar as tags de forms dentro do loop, para criar um formulário para cada linha.

Assumindo que o usuário vai poder mexer em várias linhas de uma vez, você só precisa alterar os names dos inputs, transformado-os em array

<input type="text" name="valorBruto[[<?php echo $motoristasId ?>]]" >

Dessa forma no PHP você recebera um array assim

<?php
$_POST['valorBruto'] = array(
  1 => 50,
  2 => 54.6,
  3 => 195.2,
  4 => 0.3215,
  // idDoMotorista => valorEnviadoPeloFormulário
);

 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,7k
×
×
  • Criar Novo...