Não passa ID para Modal
Caros amigos
Estou com um problema com janela Modal, que não consigo entender.
Tenho um relacionamento com 3 Tabelas, que me traz as informações que preciso.
clientes x cotacaoResposta x fatura
Preciso passar [por registro encontrado] o ID da tabela fatura para o modal, mas infelizmente não passa correto, sempre busca o último ID na tabela.
Abaixo o código:
<section class="content">
<div class="row">
<div class="col-md-12">
<div class="box box-primary">
<div class="box-header with-border" style="background:#9FF1DC;">
<h3 class="box-title"><strong>Resumo da Cotação</strong>
</h3>
</div>
<div class="table-responsive">
<table class="table no-margin">
<thead>
<tr style="background: #DCE6F0;">
<td align="left" style="font-weight:bold; font-size:16px;">Fornecedor(es)</td>
<td align="right" style="font-weight:bold; font-size:16px;">Valor Compra</td>
<td align="right" style="font-weight:bold; font-size:16px;">Fat. Mínimo</td>
<td align="right" style="font-weight:bold; font-size:16px;">Total</td>
<td align="center" style="font-weight:bold; font-size:16px;">Obs</td>
</tr>
</thead>
<?php
$sql_pegaAtivos = "SELECT cl.clienteId, cl.razaoSocial, cl.faturaMinimo,
cr.cotaRespId, cr.cotaRespQtde, cr.cotaRespVlrUnit,
cr.codProdClie, cr.clientes_clienteId,
cr.cotaRespStatus, cr.cotaNumero, cr.cotaRespCompra,
ft.faturaId, ft.clientes_clienteId, ft.faturaCotaNumero,
ft.faturaObserva,
SUM(cr.cotaRespQtde * cr.cotaRespVlrUnit) as soma
FROM cotacaoResposta cr
INNER JOIN clientes AS cl ON cl.clienteId = cr.clientes_clienteId
INNER JOIN fatura AS ft ON ft.clientes_clienteId = cl.clienteId
WHERE cr.cotaNumero = :cotaNumero
AND cr.cotaRespCompra = '1'
AND ft.cotaNumero = :cotaNumero
GROUP BY cr.clientes_clienteId ";
try{
$query_pegaAtivos = $conecta->prepare($sql_pegaAtivos);
$query_pegaAtivos->bindValue(':cotaNumero',$cotaNumero,PDO::PARAM_STR);
$query_pegaAtivos->execute();
$resultado_pegaAtivos = $query_pegaAtivos->fetchAll(PDO::FETCH_ASSOC);
$count_pegaAtivos = $query_pegaAtivos->rowCount(PDO::FETCH_ASSOC);
}catch(PDOexception $error_pegaAtivos){
echo 'Erro ao pegar ativos';
}
foreach($resultado_pegaAtivos as $resAtivos){
$cotaRespId = $resAtivos['cotaRespId'];
$cotaRespQtde = $resAtivos['cotaRespQtde'];
$cotaRespVlrUnit = $resAtivos['cotaRespVlrUnit'];
$cotaRespStatus = $resAtivos['cotaRespStatus'];
$cotaRespCompra = $resAtivos['cotaRespCompra'];
$cotaNumero = $resAtivos['cotaNumero'];
$codProdClie = $resAtivos['codProdClie'];
$clientes_clienteId = $resAtivos['clientes_clienteId'];
$codigoClie = $resAtivos['clienteId'];
$razaoSocial = $resAtivos['razaoSocial'];
$faturaMinimo = $resAtivos['faturaMinimo'];
$totalQtvUn = $resAtivos['soma'];
$faturaId = $resAtivos['faturaId'];
$faturaObserva = $resAtivos['faturaObserva'];
//Variáveis criada para fazer Cálculo
$vrFinal = '0';
$fatMin = floatval(str_replace(",",".",$faturaMinimo));
$vrFinal = $totalQtvUn - $fatMin;
?>
<tbody>
<tr>
<td align="left" width="250" height="10" style="font-size:16px;">
<?php echo $codigoClie.' - '.$razaoSocial;?></td>
<td align="right" width="15" height="10"
style="font-weight:bold; color:#035803; font-size:16px; background:#E1FFF7;" >
<?php echo number_format($totalQtvUn,2,",",".");?></td>
<td align="right" width="15" height="10"
style="font-weight:bold; font-size:16px; background:#FEFFD1;" >
<?php echo $faturaMinimo; ?></td>
<?php if($vrFinal < '0') { ?>
<td align="right" width="15" height="10"
style="font-weight:bold; color:#A70B0B; font-size:16px; background:#F3F7F6;">
<?php echo number_format($vrFinal, 2, ",", "."); ?></td>
<?php } else { ?>
<td align="right" width="15" height="10"
style="font-weight:bold; color:#010162; font-size:16px; background:#F3F7F6;">
<?php echo number_format($vrFinal, 2, ",", "."); ?></td>
<?php } ?>
<td align="right" width="15" height="10" >
<button type="button" class="btn btn-xs btn-warning"
data-toggle="modal"
data-target="#faturModal"
data-fatura="<?php echo $faturaId; ?>"
data-faturaobs="<?php echo $faturaObserva; ?>">
Editar</button>
</td>
</tr>
</tbody>
<?php } ?><!-- 1º /.Foreach -->
</table>
</div>
</div><!-- / 1ª. box primary -->
</div>
</div><!-- fim da row -->
</section>
Modal:
<div class="modal fade" id="faturModal" tabindex="-1" role="dialog" aria-labelledby="faturModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="faturModalLabel">Curso</h4>
</div>
<div class="modal-body">
<form method="POST" action="" enctype="multipart/form-data">
<div class="form-group">
<label for="observa" class="control-label">Observação:</label>
<input name="observa" class="form-control" id="observa" value="<?php echo $faturaObserva; ?>" >
</div>
<input type="hidden" class="form-control" id="faturaId" name="faturaId" value="">
<button type="button" class="btn btn-success" data-dismiss="modal">Cancelar</button>
<button type="submit" class="btn btn-danger">Alterar</button>
</form>
</div>
</div>
</div>
</div>
JavaScript:
<script type="text/javascript">
$('#faturModal').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget) // Button that triggered the modal
var fat = button.data('fatura') // Extract info from data-* attributes
var fatobs = button.data('faturaobs')
var modal = $(this)
modal.find('.modal-title').text('ID ' + fat )
modal.find('#faturaId').val(fat)
modal.find('#observa').val(fatobs)
})
</script>
Se postei minha postagem errado peço desculpas.
Agradeço a quem puder me ajudar, como passo o ID da tabela fatura, para o modal.
Grato,
RenatoDiscussão (3)
Carregando comentários...