Enviar parametros por ajax y recargar datatable
Publicado por David (1 intervención) el 25/05/2020 21:34:52
Se que hay varias preguntas similares pero ninguna me ha servido para solucionar mi problema. Estoy haciendo una web para cobrar cuotas a socios. Usando php y datatables. en la pagina socios, donde se listan todos en un datatable, en la columna acciones, ademas de los botones editar y eliminar, cree otro (cobrarcuotas) donde la idea es que me direcciones a al php cobrar_cuotas y me muestre en un datatable todas las cuotas pagas de ese socio. tengo el siguiente codigo en el onclick del boton en socios.js
el valor del nro de socio lo hace bien y el window.location tambien. no es el mismo archivo la url que la pagina que abro para mostrar la tabla, quizas tenga algo que ver. donde yo envio el nro_socio es en acciones_cuotas_socios.php
Error no me tira ninguno.. lo unico que hace es mostra la tabla de cuotas_socios vacia, cuando yo le paso cableado el valor de numero de socio a la consulta me lo muestra perfectamente, o sea que el valor de numero de socio no estaria tomandose por el php. Espero se entienda y me puedan ayudar.. gracias
1
2
3
4
5
6
7
8
9
10
11
12
13
$(document).on("click", ".btnCobrar", function(){
fila = $(this);
nro_socio = parseInt($(this).closest('tr').find('td:eq(0)').text()) ;
$.ajax({
url: "acciones/acciones_cuotas_socios.php",
type: "POST",
datatype:"json",
data: {nro_socio:nro_socio},
success: function() {
window.location.href = "cuotas_socio.php";
}
});
});
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<?php
include_once '../bd/conexion.php';
$objeto = new Conexion();
$conexion = $objeto->Conectar();
$opcion = (isset($_POST['opcion'])) ? $_POST['opcion'] : '';
$nro_socio = (isset($_POST['nro_socio'])) ? $_POST['nro_socio'] : '';
switch($opcion){
case 1:
$consulta = "INSERT INTO socios(nombre, apellido,dni, fecha_nac) VALUES('$nombre', '$apellido', '$dni','$fecha_nac') ";
$resultado = $conexion->prepare($consulta);
$resultado->execute();
$consulta = "SELECT * FROM socios ORDER BY nro_socio DESC LIMIT 1";
$resultado = $conexion->prepare($consulta);
$resultado->execute();
$data=$resultado->fetchAll(PDO::FETCH_ASSOC);
break;
case 2:
$consulta = "UPDATE socios SET nombre='$nombre', apellido='$apellido', fecha_nac='$fecha_nac', dni='$dni' WHERE nro_socio='$nro_socio' ";
$resultado = $conexion->prepare($consulta);
$resultado->execute();
$consulta = "SELECT * FROM socios WHERE nro_socio='$nro_socio' ";
$resultado = $conexion->prepare($consulta);
$resultado->execute();
$data=$resultado->fetchAll(PDO::FETCH_ASSOC);
break;
case 3:
$consulta = "UPDATE socios SET id_estado = 2 , fecha_baja = curdate(), fecha_alta = NULL WHERE nro_socio = '$nro_socio'";
$resultado = $conexion->prepare($consulta);
$resultado->execute();
break;
case 4:
$consulta = "SELECT * FROM cuotas_por_socio where nro_socio = '$nro_socio' order by cuota_anio desc";
$resultado = $conexion->prepare($consulta);
$resultado->execute();
$data=$resultado->fetchAll(PDO::FETCH_ASSOC);
break;
}
print json_encode($data, JSON_UNESCAPED_UNICODE);//envio el array final el formato json a AJAX
$conexion=null;
y esto es llamado por cuotas_socios.js que es la que recarga cuotas_socios.php con este codigo cuotas_socio.js
$(document).ready(function() {
var nro_socio, opcion;
opcion = 4;
tablaCuotas = $('#tablaCuotas').DataTable({
"ajax":{
"url": "acciones/acciones_cuotas_socios.php",
"method": 'POST', //usamos el metodo POST
"data":{opcion:opcion}, //envio opcion 4 para que haga un SELECT
"dataSrc":""
},
"language": {
"lengthMenu": "Mostrar _MENU_ registros",
"zeroRecords": "No se encontraron resultados",
"info": "Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros",
"infoEmpty": "Mostrando registros del 0 al 0 de un total de 0 registros",
"infoFiltered": "(filtrado de un total de _MAX_ registros)",
"sSearch": "Buscar:",
"oPaginate": {
"sFirst": "Primero",
"sLast":"Último",
"sNext":"Siguiente",
"sPrevious": "Anterior"
},
"sProcessing":"Procesando...",
},
"columns":[
{"data": "nro_socio"},
{"data": "cuota_anio"},
{"data": "id_mes"},
{"data": "fecha_pago"},
{"data": "valor_cuota"},
// {"data": "id_estado"},
{"defaultContent": "<div class='text-center'><div class='btn-group'><button class='btn btn-primary btn-sm btnEditar'><i class='material-icons'>edit</i></button><button class='btn btn-danger btn-sm btnBorrar'><i class='material-icons'>delete</i></button></div></div>"}
]
});
Valora esta pregunta
0