Criar campos dinâmicos e somar em PHP!
Galera, estou fazendo um sisteminha para um familiar: cálculos de materias-primas. Ela tem um ateliê e quer calcular quanto gasta para fazer determinado item. O código que eu tenho é o seguinte:
<form name="calculo" action="" method="post" class="form-inline">
<div class="form-group">
<select name="produto[]" class="form-control">
<?
include 'init.php';
$sql = mysql_query("SELECT * FROM produtos ORDER BY nome");
while ($res = mysql_fetch_array($sql)){
echo '<option value="'.$res['nome'].'">'.$res['nome'].'</option>';
}
?>
</select>
<label>Quantidade</label>
<input type="text" class="form-control" name="qnt[]" value="" />
<label>Preço Unitário</label>
<input type="text" class="form-control" name="preco[]" value="" />
<br><br>
<input class="btn btn-success" type="submit" value="Calcular" name="calcular" />
</div>
</form>
<br><br>
<?php
if( isset ( $_POST[ 'calcular' ] ) ) {
for( $i = 0 , $x = count( $_POST['produto'] ) ; $i < $x ; ++ $i ) {
echo '<div align="left">';
echo '<b>Produto: </b>'.$_POST['produto'][ $i ].'<br />';
echo '<b>Quantidade: </b>'.$_POST['qnt'][ $i ].'<br />';
echo '<b>Preço: </b> R$ '.$_POST['preco'][ $i ].'<br />';
echo '<b>Total de '.$_POST['produto'][ $i ].' :</b> R$ '.(($_POST['preco'][ $i ]) * ($_POST['qnt'][ $i ])).'<br /><br />';
echo '</div>';
$total += (($_POST['preco'][ $i ]) * ($_POST['qnt'][ $i ]));
}
echo '<div class="alert alert-success"><b>Total do Orçamento: R$ '.$total.'</b></div>';
}
?>
Funciona perfeitamente, eu poderia deixar 10 campos ali que ele somaria corretamente, mas no caso, queria poder criar os campos dinamicamente: o SELECT (com os dados vindo do BD), e os 2 INPUTS.
Alguém pode me dar uma ajuda?
Obs: E sei que ainda estou usando o MySQL, mas que ainda não treinei o suficiente para migrar! =)
Discussão (2)
Carregando comentários...