
Cargar datos en modal
Publicado por Brandon (4 intervenciones) el 03/05/2024 20:34:38
Buena tarde
Tengo una tabla y con datos obtenidos desde mi base con php como lo muestro en el siguiente codigo
TABLA
MODAL
Una vez que tengo mis datos en la tabla lo que quiero es cargar los datos en el modal correspondiente al boton (Detalles) del registro que estoy seleccionando en mi tabla, para eso realize lo siguiente
Codigo de archivo backTicket.php
Realmente si me carga los datos en el modal, el problema es no me muestra los datos del boton correspondiente al registro que seleccione, si no que para cualquiera que presione me carga los datos del ultimo registro que tenga.
Espero me entiendan y me puedan ayudar
Tengo una tabla y con datos obtenidos desde mi base con php como lo muestro en el siguiente codigo
TABLA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<form class="row g-3" method="post" name="form-auto" id="myForm" action="">
<div class="row g-5">
<h2>Tickets en curso</h2>
<div class="table-responsive small">
<table class="table table-striped table-sm">
<thead>
<tr>
<th scope="col">Estatus del ticket</th>
<th scope="col">Titulo del ticket</th>
<th scope="col">Numero de Ticket</th>
<th scope="col">Tipo de Ticket</th>
<th scope="col">Usuario Solicitante</th>
<th scope="col">Servicio</th>
<th scope="col">Indicador</th>
<th scope="col">Categoria</th>
<th scope="col" hidden></th>
<th scope="col"></th>
<th scope="col"</th>
</tr>
</thead>
<?php
$cau = "CAU-";
$i = 1;
while ($dataRow = mysqli_fetch_array($query)) { ?>
<tbody>
<tr>
<td><?php echo $dataRow["Estatus"]; ?></td>
<td><?php echo $dataRow["Usuario_Autorizado"]; ?></td>
<td><?php echo $cau . $dataRow["Ticket"]; ?></td>
<td><?php echo $dataRow["Tipo_Ticket"]; ?></td>
<td><?php echo $dataRow["Usuario_Solicitante"]; ?></td>
<td><?php echo $dataRow["Servicio"]; ?></td>
<td><?php echo $dataRow["Indicador"]; ?></td>
<td><?php echo $dataRow["Categoria"]; ?></td>
<td hidden><input type="text" value="<?php echo $dataRow["Ticket"]; ?>" name="ticket"></td>
<td><button type="button" class="btn btn-primary" onclick="DetallesModal()"> Detalles</button></td>
<td><button type="button" class="btn btn-success" onclick="VistoBueno()"> Aplicar Vo.Bo</button></td>
</tr>
</tbody>
<?php } ?>
</table>
</div>
</div>
</form>
MODAL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<div class="modal" id="myModal">
<div class="modal-dialog modal-lg modal-dialog-scrollable" role="document">
<div class="modal-content">
<div class="modal-body">
<form class="row g-3 needs-validation" method="POST" action="" id="myFormDetalles">
<div class="modal-header">
<h4 class="fs-2 col-md-11">DATOS GENERALES DEL TICKET</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close" onclick="CerrarModal()">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="form-group col-md-9">
<label for="Codigo_modal" class="fs-4">Número del Ticket</label>
<input type="text" class="form-control fs-4" id="Ticket1" name="Ticket1" readonly="readonly">
</div>
<div class="form-group col-md-9">
<label for="Entidad" class="fs-5">Título del Ticket</label>
<input type="text" class="form-control fs-5" id="Titulo_del_Ticket" readonly="readonly">
</div>
<div class="form-group col-md-9">
<label for="Nombre" class="fs-5">Usuario Solicitante</label>
<input type="text" class="form-control fs-5" id="Usuario_Solicitante" readonly="readonly">
</div>
<div class="form-group col-md-9">
<label for="Departemento" class="fs-5">Tipo de Ticket</label>
<input type="text" class="form-control fs-5" id="Tipo_de_Ticket" name="Tipo_de_Ticket" readonly="readonly">
</div>
</div>
Una vez que tengo mis datos en la tabla lo que quiero es cargar los datos en el modal correspondiente al boton (Detalles) del registro que estoy seleccionando en mi tabla, para eso realize lo siguiente
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
function DetallesModal() {
let form = document.getElementById("myForm");
let formulario = new FormData(form);
console.log(formulario);
$.ajax({
method: "POST",
dataType: "JSON",
url: "backTicket.php",
cache: false,
contentType: false,
processData: false,
data: formulario,
success: function (data) {
console.log(data);
//if (data != null) {
$('#myModal').modal('show');
$('#Ticket1').val(data.Ticket);
$('#Titulo_del_Ticket').val(data.Usuario_Autorizado);
$('#Usuario_Solicitante').val(data.Usuario_Solicitante);
$('#Tipo_de_Ticket').val(data.Tipo_Ticket);
$('#Area_Operativa').val(data.Area_Operativa);
$('#Unidad').val(data.Unidad);
$('#Servicio').val(data.Servicio);
$('#Indicador').val(data.Indicador);
$('#Tiempo_Rectificacion').val(data.Tiempo_Rectificacion);
$('#Categoria_Calidad').val(data.Categoria);
$('#Descripcion_Indicador').val(data.Descripcion_Indicador);
$('#Descripcion_Solicitud').val(data.Descripcion_Solicitud);
$('#Notas').val(data.Nota);
//}
}
});
}
Codigo de archivo backTicket.php
1
2
3
4
5
$ticket = $_POST['ticket'];
$consulta = "SELECT * FROM ticket WHERE Ticket = '$ticket'";
$data = mysqli_query($con, $consulta);
$datos = mysqli_fetch_array($data);
echo json_encode($datos);
Realmente si me carga los datos en el modal, el problema es no me muestra los datos del boton correspondiente al registro que seleccione, si no que para cualquiera que presione me carga los datos del ultimo registro que tenga.
Espero me entiendan y me puedan ayudar
Valora esta pregunta


0