Checkbox + foreach so pega o id
Pessoal, tenho um problema com o foreach, não sei o que esta errado venho pedir ajuda para tentar resolver, o problema é o seguinte;
Tenho duas tabelas mysql,
Tabela: mao_obra - campos, id (auto incremento), mao_obra(descrição) e preço
Tabela: detalhe_orcamento - campos, id (auto incremento), orcamento_id, mao_obra_id e preço
Consigo gravar os dados da tabela mao_obra na tabela detalhe_orcamento, mas com um problema que não resolvi na época e agora estou precisado resolver sem falta, o problema é que o campo preço gravado na tabela detalhe_orcamento, é sempre o primeiro preço da tabela mao_obra, o id grava corretamente segue o código que uso:
<?php
if (isset($_POST['enviar'])){
$mao_obra_id = $_POST['mao_obra_id'];
$orcamento_id = $_POST['orcamento_id'];
$preco = $_POST['preco'];
foreach($_POST['mao_obra_id'] as $indice => $valor){
$inserir = "INSERT INTO detalhe_orcamento (mao_obra_id, orcamento_id, preco) VALUE ('".$valor."', '".$orcamento_id."', '".$preco."')" or die(mysql_error());
$ex = mysql_query($inserir) or die(mysql_error());
print_r ($valor);
echo'<br />';
print_r ($preco);
}
}
?>
<?php
// consulta do select de Serviços
$selec = "SELECT * FROM mao_obra";
$exec = mysql_query($selec) or die(mysql_error());
// Lista dados do checkbox
while($dados=mysql_fetch_array($exec)) {
$id = $dados['id'];
$mao_obra = $dados['mao_obra'];
$preco = $dados['preco'];
?>
<form action="" name="form1" enctype="multipart/form-data" method="post">
<input style="margin-left:30px" name="mao_obra_id[]" type="checkbox" value="<?php echo $id; ?>"/> <?php echo $mao_obra; ?>
<input type="text" name="preco" value="<?php echo $preco; ?>" /><?php echo $preco; ?>
<?php
}
?>
<input type="text" name="orcamento_id" /></td>
<input type="submit" name="enviar" value="Adicionar Orçamento" /></td>
</form>
O resultado do print_r ($valor); mostra o id correto mas o print_r ($preco); mostra o preço sempre do id 1
Já pesquisei muito mas não consegui resolver esse problema
Discussão (7)
Carregando comentários...