Hola amigo, si he entendido bien, quieres poner todas las funciones en un archivo, vamos a llamarlo "funciones.php".
Vamos a ir paso por paso.
Primero vamos a definir el archivo "funciones.php"
Código PHP:
//Definimos todas las funciones
//funciones de ejemplo
function funcion_1(){
global ....
}
function funcion_2($id,$count....){
global ....
}
....
//Ahora es el momento de llamar a las funciones
if(isset($_GET['funcion']) && !empty($_GET['funcion'])){//comprobamos que exista ese GET y que no este vacío.
$funcion = intval($_GET['funcion']); //Asignamos una variable a su contenido y de paso comprobamos que sólo sea numérica.
if($funcion == 1){funcion_1();}
else if($funcion == 2){funcion_2(1,0...);
else if($funcion == 3){funcion_3();}
....
}
Ahora vamos con el js:
Código Javascript
:
Ver originalvar manageMemberTable;
$(document).ready(function () {
manageMemberTable = $("#manageMemberTable").DataTable({
"ajax": "php_action/funciones.php?funcion=1",
"order": []
});
$("#addMemberModalBtn").on('click', function () {
// reset the form
$("#createMemberForm")[0].reset();
// remove the error
$(".form-group").removeClass('has-error').removeClass('has-success');
$(".text-danger").remove();
// empty the message div
$(".messages").html("");
// submit form
$("#createMemberForm").unbind('submit').bind('submit', function () {
$(".text-danger").remove();
var form = $(this);
// validation
var name = $("#name").val();
var address = $("#address").val();
var contact = $("#contact").val();
var active = $("#active").val();
if (name === "") {
$("#name").closest('.form-group').addClass('has-error');
$("#name").after('<p class="text-danger">The Name field is required</p>');
} else {
$("#name").closest('.form-group').removeClass('has-error');
$("#name").closest('.form-group').addClass('has-success');
}
if (address === "") {
$("#address").closest('.form-group').addClass('has-error');
$("#address").after('<p class="text-danger">The Address field is required</p>');
} else {
$("#address").closest('.form-group').removeClass('has-error');
$("#address").closest('.form-group').addClass('has-success');
}
if (contact === "") {
$("#contact").closest('.form-group').addClass('has-error');
$("#contact").after('<p class="text-danger">The Contact field is required</p>');
} else {
$("#contact").closest('.form-group').removeClass('has-error');
$("#contact").closest('.form-group').addClass('has-success');
}
if (active === "") {
$("#active").closest('.form-group').addClass('has-error');
$("#active").after('<p class="text-danger">The Active field is required</p>');
} else {
$("#active").closest('.form-group').removeClass('has-error');
$("#active").closest('.form-group').addClass('has-success');
}
if (name && address && contact && active) {
//submi the form to server
$.ajax({
url: form.attr('action'),
type: form.attr('method'),
data: form.serialize(),
dataType: 'json',
success: function (response) {
// remove the error
$(".form-group").removeClass('has-error').removeClass('has-success');
if (response.success === true) {
$(".messages").html('<div class="alert alert-success alert-dismissible" role="alert">' +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>' +
'<strong> <span class="glyphicon glyphicon-ok-sign"></span> </strong>' + response.messages +
'</div>');
// reset the form
$("#createMemberForm")[0].reset();
// reload the datatables
manageMemberTable.ajax.reload(null, false);
// this function is built in function of datatables;
} else {
$(".messages").html('<div class="alert alert-warning alert-dismissible" role="alert">' +
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>' +
'<strong> <span class="glyphicon glyphicon-exclamation-sign"></span> </strong>' + response.messages +
'</div>');
} // /else
} // success
}); // ajax subit
} /// if
return false;
}); // /submit form for create member
}); // /add modal
});
y lo mismo con la otra funcion, pero le pones ?funcion=2
Por cierto, hay una cosa que siempre jode cuando actualizas archivos, y es el caché, te lo digo por experiencia, si no notas un cambio, borra el cache entero o prueba desde otro navegador, incluso puedes tirar del modo incognito, aunque este último no es muy fiable, porque a veces también almacena y tira del cache.
Consejo: Si lo que quieres es que se ejecute rápidamente (en milisegundos), en vez de definir todas las funciones antes de ser llamadas, te recomendaría que definieses todas las funciones dentro de los if correspondientes, es decir:
Código PHP:
if(funcion == 1){function funcion_1(){...} funcion_1();}
Aunque de la manera inicial que te he puesto, tampoco vas a tener problemas de rendimiento.
Un saludo.