I have a problem, I have a very large table so I decided to use AJAX to be used as a filter, that is, the table will only show filtered data
<script type="text/javascript">
$(document).ready(function(){
$('#search_apat, #search_amat, #search_ife').change(function(){
var search_apat = $('#search_apat').val();
var search_amat = $('#search_amat').val();
var search_ife = $('#search_ife').val();
var datos = new FormData();
datos.append("paterno", search_apat);
datos.append("materno", search_amat);
datos.append("elector", search_ife);
$.ajax({
url:'vistas/modulos/padron/search.php',
method:"POST",
data: datos,
cache: false,
contentType: false,
processData: false,
success:function(respuesta){
if(!respuesta.error) {
$('#tablaPadron').html(respuesta);
}
}
});
});
});
</script>
I am working PHP MVC, in the function of the controller by means of an ECHO it reflects the table that contains a button by line which opens a modal-dialog of Bootstrap, which will have a form for edition of the database
public function validarPadronController($busquedaPadron){
$datosController = $busquedaPadron;
$respuesta = GestorPadronModel::validarPadronModel($datosController, "hillo", "firmas");
echo '
<table id="tablaPadron" class="table table-striped table-bordered" cellspacing="0" width="100%">
<thead>
<tr>
<th>Nombre</th>
<th>A Paterno</th>
<th>A Materno</th>
<th>Clave Elector</th>
<th>Folio IFE</th>
<th>Firmo</th>
<th>Editar</th>
</tr>
</thead>
<tbody>';
foreach ($respuesta as $row => $item) {
echo'
<tr>
<td>'.$item["nombres"].'</td>
<td>'.$item["apat"].'</td>
<td>'.$item["amat"].'</td>
<td>'.$item["clave"].'</td>
<td>'.$item["folio"].'</td>
<td>'.$item["firmo"].'</td>
<td><a href="#listado'.$item["id"].'" data-toggle="modal"><span class="btn btn-primary glyphicon glyphicon-pencil quitarSuscriptor"></span></a></td>
</tr>
</tbody>
</table>
<div id="listado'.$item["id"].'" class="modal fade">
<div class="modal-dialog modal-content" id="formulariosMedium">
<div class="modal-header titulos">
<button type="button" class="close" data-dismiss="modal"><h3>X</h3></button>
<h2> Editar Datos de Electores</h2>
</div>
<div class="modal-body fieldset">
<form class="formss" method="post">
<input name="edit_iden" type="hidden" value="'.$item["iden"].'">
<h3>Datos Personales</h3>
<hr>
<br>
<div class="row nombres">
<div class="col-sm-4 col-md-4 ">
<label for="edit_nombre">Nombre</label>
<input type="text" value="'.$item["nombres"].'" name="edit_nombre" id="edit_nombre" readonly>
</div>
<div class="col-sm-4 col-md-4 ">
<label for="edit_apat">A Paterno<span></span></label>
<input type="text" value="'.$item["apat"].'" name="edit_apat" id="edit_apat" readonly>
</div>
<div class="col-sm-4 col-md-4 ">
<label for="edit_amat">A Materno<span></span></label>
<input type="text" value="'.$item["amat"].'" name="edit_amat" id="edit_amat" readonly>
</div>
</div>
<div class="row">
<div class="col-sm-4 col-md-4">
<label for="edit_noCelular">Celular <span></span></label>
<input type="text" value="'.$item["celular"].'" name="edit_noCelular" maxlength="10" id="edit_noCelular">
</div>
<div class="col-sm-4 col-md-4">
<label for="edit_noCelular2">Celular 2 <span></span></label>
<input type="text" value="'.$item["tel2"].'" name="edit_noCelular2" maxlength="10" id="edit_noCelular2">
</div>
<div class="col-sm-4 col-md-4">
<label for="edit_correo">Correo Electrónico <span></span></label>
<input type="email" value="'.$item["correo"].'" name="edit_correo" id="edit_correo">
</div>
</div>
<div class="row">
<div class="col-sm-4 col-md-4">
<label for="edit_facebook">Facebook <span></span></label>
<input type="text" value="'.$item["facebook"].'" name="edit_facebook" id="edit_facebook">
</div>
</div>
<h3>Credencial de Elector</h3>
<hr>
<br>
<div class="row">
<div class="col-sm-6 col-md-6">
<label for="edit_claveElec">Clave Elector <span></span></label>
<input type="text" value="'.$item["clave"].'" name="edit_claveElec" maxlength="18" id="edit_claveElec" readonly>
</div>
<div class="col-sm-6 col-md-6">
<label for="edit_folio">Folio <span></span></label>
<input type="text" value="'.$item["folio"].'" name="edit_folio" id="edit_folio" required>
</div>
</div>
<h3>Firmo Iniciativa</h3>
<hr>
<br>
<div class="row">
<div class="col-sm-6 col-md-6">
<label for="edit_iniciativa">Firmó <span></span></label>
<div class="checkbox">
<label><input type="checkbox" name="edit_firma" id="edit_firma" value="SI"';if($item["firmo"] == "SI"){echo "checked disabled";} echo'>SI</label>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<input type="submit" class="btn btn-primary bt-lg" value="Editar">
<button type="button" class="btn btn-primary bt-lg btn-group-justified" data-dismiss="modal" id="editar">TEST</button>
</form>
<br>
<br>
<button type="button" class="btn btn-danger bt-lg btn-group-justified" data-dismiss="modal">Cerrar</button>
</div>
</div>
</div>';
}
}
The problem is that the submit button does not do anything, I want it to execute the next function for editing
public function editarPadron(){
if(isset($_POST["edit_nombre"])){
if(preg_match('/^[a-zA-Z]+(\s*[a-zA-Z]*)*[a-zA-Z]+$/', $_POST["edit_nombre"], $nombreError) &&
preg_match('/^[a-zA-Z]+(\s*[a-zA-Z]*)*[a-zA-Z]+$/', $_POST["edit_apat"],
$apatError) &&
preg_match('/^[a-zA-Z]+(\s*[a-zA-Z]*)*[a-zA-Z]+$/', $_POST["edit_amat"],
$amatError) &&
preg_match('/^[0-9]+$/', $_POST["edit_noCelular"], $noCelularError) &&
preg_match('/^[0-9]+$/', $_POST["edit_noCelular2"], $noCelular2Error) &&
preg_match('/^[a-zA-Z]+(\s*[a-zA-Z]*)*[a-zA-Z]+$/', $_POST["edit_facebook"],
$faceError) &&
preg_match('/^[A-Z0-9]+$/', $_POST["edit_claveElec"], $claveElectError) &&
preg_match('/^[A-Z]+$/', $_POST["edit_firma"], $firmaError) &&
preg_match('/^[0-9]+$/', $_POST["edit_folio"], $folioError) &&
preg_match('/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/', $_POST["edit_correo"], $correoError)){
$datosController =array("iden"=>$_POST["edit_iden"],
"noCelular"=>$_POST["edit_noCelular"],
"noCelular2"=>$_POST["edit_noCelular2"],
"facebook"=>$_POST["edit_facebook"],
"claveElect"=>$_POST["edit_claveElec"],
"folios"=>$_POST["edit_folio"],
"firma"=>$_POST["edit_firma"],
"correo"=>$_POST["edit_correo"]);
$respuesta = GestorPadronModel::editarPadronModel($datosController, "firmas");
if($respuesta == "success"){
echo"<script>
swal({
title: 'Está a Punto de Editar un Elector',
text: '¿Es Correcto?',
type: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'SI, Editar!'
}).then(function () {
swal(
'Editado!',
'Elector Fue Editado Correctamente!!',
'success'
);
window.location.href ='listado';
});
</script>";
}
if($respuesta == "error"){
echo "<script type='text/javascript'>
swal(
'Fallo...',
'Elector NO Fue Editado Correctamente!',
'error'
);</script>";
}
}else{
$vacia ="";
if (empty($nombreError)){$vacia ='NOMBRE';}else
if (empty($apatError)){$vacia ='APELLIDO PATERNO';}else
if (empty($amatError)){$vacia ='APELLIDO MATERNO';}else
if (empty($noCelularError)){$vacia ='CELULAR';}else
if (empty($noCelular2Error)){$vacia ='CELULAR 2';}else
if (empty($faceError)){$vacia ='FACEBOOK';}else
if (empty($claveElectError)){$vacia ='CLAVE DE ELECTOR';}else
if (empty($folioError)){$vacia ='FOLIO';}else
if (empty($firmaError)){$vacia ='FIRMA';}else
if (empty($correoError)){$vacia ='CORREO';}
echo "<script type='text/javascript'>
swal(
'NO es Posible Editar!!!',
'El Campo ".$vacia." NO cumple con lo requerido, Favor de Verificarlo!',
'error'
);</script>";
}
}
}
Any Suggestion ???
thanks
the following is code is where I have the database
<?php
session_start();
if(!$_SESSION["validar"]){
header("location:ingreso");
exit();
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Nuevo</title>
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<link rel="stylesheet" href="vistas/css/forms.css">
</head>
<script type="text/javascript">
$(document).ready(function(){
$('#search_apat, #search_amat, #search_ife').change(function(){
var search_apat = $('#search_apat').val();
var search_amat = $('#search_amat').val();
var search_ife = $('#search_ife').val();
var datos = new FormData();
datos.append("paterno", search_apat);
datos.append("materno", search_amat);
datos.append("elector", search_ife);
$.ajax({
url:'vistas/modulos/padron/search.php',
method:"POST",
data: datos,
cache: false,
contentType: false,
processData: false,
success:function(respuesta){
if(!respuesta.error) {
$('#tablaPadron').html(respuesta);
}
}
});
});
});
</script>
<body>
<div class="container">
<div class="row">
<?php include "vistas/modulos/cabecera.php"; ?>
</div>
<div class="row">
<div class="col-sm-12 col-md-12">
<h1>Listado Hermosillo</h1>
<hr>
</div>
</div>
<h3>Busqueda</h3>
<hr>
<div class="row">
<div class="form-group">
<div class="col-sm-4 col-md-4 col-xs-12">
<label for="search_apat"> A Paterno: </label>
<input id="search_apat" class="form-control search_apat" type="text"></input>
</div>
<div class="col-sm-4 col-md-4 col-xs-12">
<label for="search_amat"> A Materno: </label>
<input id="search_amat" class="form-control search_amat" type="text"></input>
</div>
<div class="col-sm-4 col-md-4 col-xs-12">
<label for="search_ife"> Clave Elector: </label>
<input id="search_ife" class="form-control search_ife" type="text"></input>
</div>
</div>
</div>
<hr>
<br>
<div class="row">
<div class="col-sm-12 col-md-12">
<?php
$crearPerfil = new GestorPadron();
$crearPerfil -> editarPadron();
?>
<div class="table-responsive">
<table id="tablaPadron" class="table table-striped table-bordered" cellspacing="0" width="100%">
<thead>
<tr>
<th>Nombre</th>
<th>Apellidos</th>
<th>Clave Elector</th>
<th>Firmo</th>
<th>Editar</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
the search.php that calls AJAX
[![<?php
require_once "../../../controladores/gestorPadron.php";
require_once "../../../modelos/gestorPadron.php";
class Ajax{
public $busquedaPadron =array();
public function bucarElectorAjax(){
$datos =$this->busquedaPadron;
$respuesta = GestorPadron::validarPadronController($datos);
echo $respuesta;
}
}
if (isset($_POST\["paterno"\])|| isset($_POST\["materno"\])|| isset($_POST\["elector"\])) {
$a = new Ajax();
$a-> busquedaPadron = array("paterno"=>$_POST\["paterno"\],
"materno"=>$_POST\["materno"\],
"elector"=>$_POST\["elector"\]);
$a-> bucarElectorAjax();
}
?>][1]][1]