
Problema al crear subtabla de detalle
Publicado por Gabriel (1 intervención) el 10/08/2021 00:17:13
Buenas. Tengo el siguiente código para mostrar una subtabla con el detalle de cada uno de los registros de la tabla primaria. La duda que tengo es por qué la fila correspondiente al detalle,es decir, la que se construye oculta, solamente ocupa la primera celda.
<table class="table table-responsive-md table-sm table-bordered" id="makeEditable">
<thead style="background-color: #3b59a4; color: white;">
<tr>
<th></th><th>Cliente</th><th>Reserva</th><th>Registro</th><th>Salida</th><th>Estado</th><th>Adultos</th><th>Menores</th><th>Edad de menor</th><th>No DÃas</th>
</tr>
</thead>
<tbody>
<?php
foreach($array as $value) {
$id = "row" . $value["idreserva"];
$details = $objhab->getdetailsbyreserva($value["idreserva"]);
?>
<tr>
<td style="text-align: center;font-size:large;font-weight:bolder;"><button id="<?php echo $value['idreserva'] ?>" class="detalles btn-warning" >+</button></td>
<td><?php echo $value['cliente'] ?></td>
<td><?php echo substr($value['reserva'],0,10) ?></td>
<td><?php echo substr($value['registro'],0,10) ?></td>
<td><?php echo substr($value['salida'],0,10) ?></td>
<td><?php echo $value['estado'] ?></td>
<td style="text-align:right;"><?php echo $value['adultos'] ?></td>
<td style="text-align:right;"><?php echo $value['menores'] ?></td>
<td style="text-align:right;"><?php echo $value['edadmenor'] ?></td>
<td style="text-align:right;"><?php echo $value['nodays'] ?></td>
</tr>
<tr id="<?php echo $id; ?>" class="detalle" style="display: none;">
<td style="background-color: #bbdeb5;">
<table class="table table-responsive-md table-sm table-bordered">
<thead style="background-color: #9cccde;">
<th>Cantidad</th><th>Tipo de habitación</th><th>Precio Unitario</th><th>Subtotal</th>
</thead>
<tbody>
<?php
$total = 0;
foreach($details as $rows){
$subtotal = $rows['canSolicitada']*$rows['preciohabitacion'];
?>
<tr>
<td style="text-align:right;"><?php echo number_format($rows['canSolicitada']) ?></td>
<td><?php echo $rows['nomTipo'] ?></td>
<td style="text-align:right;"><?php echo number_format($rows['preciohabitacion']) ?></td>
<td style="text-align:right;"><?php echo number_format($subtotal); ?></td>
</tr>
<?php
$total += $subtotal;
}
?>
</tbody>
<tfoot>
<tr>
<td colspan="3" style="background-color: #9cccde;font-weight:bolder;text-align:center;">Valor total de la reserva </td><td style="text-align: right;"><?php echo number_format($total); ?></td>
</tr>
</tfoot>
</table>
</td>
<td style="text-align: center;vertical-align: middle;"><button class="btn-primary" id="btn-confirmar"><i class="fa fa-check-square-o"></i> Confirmar</button><button class="btn-danger" id="btn-cancelar"><i class="fa fa-minus-square-o"></i> Cancelar </button></td>
<td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td>
</tr>
<?php
}
?>
</tbody>
<tfoot>
<tr>
<td colspan='10'>
<?php
$p = new paginador();
echo $p->pagination($cantidad, $pagina, $funcion, $criterio, $registro, 5);
?>
</td>
</tr>
</tfoot>
</table>
En la imagen pueden ver la situación

<table class="table table-responsive-md table-sm table-bordered" id="makeEditable">
<thead style="background-color: #3b59a4; color: white;">
<tr>
<th></th><th>Cliente</th><th>Reserva</th><th>Registro</th><th>Salida</th><th>Estado</th><th>Adultos</th><th>Menores</th><th>Edad de menor</th><th>No DÃas</th>
</tr>
</thead>
<tbody>
<?php
foreach($array as $value) {
$id = "row" . $value["idreserva"];
$details = $objhab->getdetailsbyreserva($value["idreserva"]);
?>
<tr>
<td style="text-align: center;font-size:large;font-weight:bolder;"><button id="<?php echo $value['idreserva'] ?>" class="detalles btn-warning" >+</button></td>
<td><?php echo $value['cliente'] ?></td>
<td><?php echo substr($value['reserva'],0,10) ?></td>
<td><?php echo substr($value['registro'],0,10) ?></td>
<td><?php echo substr($value['salida'],0,10) ?></td>
<td><?php echo $value['estado'] ?></td>
<td style="text-align:right;"><?php echo $value['adultos'] ?></td>
<td style="text-align:right;"><?php echo $value['menores'] ?></td>
<td style="text-align:right;"><?php echo $value['edadmenor'] ?></td>
<td style="text-align:right;"><?php echo $value['nodays'] ?></td>
</tr>
<tr id="<?php echo $id; ?>" class="detalle" style="display: none;">
<td style="background-color: #bbdeb5;">
<table class="table table-responsive-md table-sm table-bordered">
<thead style="background-color: #9cccde;">
<th>Cantidad</th><th>Tipo de habitación</th><th>Precio Unitario</th><th>Subtotal</th>
</thead>
<tbody>
<?php
$total = 0;
foreach($details as $rows){
$subtotal = $rows['canSolicitada']*$rows['preciohabitacion'];
?>
<tr>
<td style="text-align:right;"><?php echo number_format($rows['canSolicitada']) ?></td>
<td><?php echo $rows['nomTipo'] ?></td>
<td style="text-align:right;"><?php echo number_format($rows['preciohabitacion']) ?></td>
<td style="text-align:right;"><?php echo number_format($subtotal); ?></td>
</tr>
<?php
$total += $subtotal;
}
?>
</tbody>
<tfoot>
<tr>
<td colspan="3" style="background-color: #9cccde;font-weight:bolder;text-align:center;">Valor total de la reserva </td><td style="text-align: right;"><?php echo number_format($total); ?></td>
</tr>
</tfoot>
</table>
</td>
<td style="text-align: center;vertical-align: middle;"><button class="btn-primary" id="btn-confirmar"><i class="fa fa-check-square-o"></i> Confirmar</button><button class="btn-danger" id="btn-cancelar"><i class="fa fa-minus-square-o"></i> Cancelar </button></td>
<td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td>
</tr>
<?php
}
?>
</tbody>
<tfoot>
<tr>
<td colspan='10'>
<?php
$p = new paginador();
echo $p->pagination($cantidad, $pagina, $funcion, $criterio, $registro, 5);
?>
</td>
</tr>
</tfoot>
</table>
En la imagen pueden ver la situación

Valora esta pregunta


0