. * */ //Clase encargada de procesar las peticiones ajax require_once 'inc/configuracion.inc'; require_once 'Sql.php'; $ajax = new Ajax(); echo $ajax->procesa(); class Ajax { private $sql; private $tabla; public function __construct() { $this->sql = new Sql(SERVIDOR, USUARIO, CLAVE, BASEDATOS); if ($this->sql->error()) { return $this->respuesta($this->mensaje(false, 'Error conectando con la Base de Datos')); }; $this->tabla = $_GET['tabla']; } private function respuesta($mensaje) { header('Content-Type: application/json', true, 200); return $mensaje; } public function procesa() { $opc = $_GET['opc']; switch ($opc) { case "get": return $this->obtiene(); case "put": return $this->actualiza(); } } private function mensaje($exito, $texto) { return json_encode(array("success" => $exito, "msj" => $texto)); } private function actualiza() { if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { $comando = "update " . mysql_escape_string($this->tabla) . " set " . mysql_escape_string($_POST['name']) . " = '" . mysql_escape_string($_POST['value']) . "' where id = '" . mysql_escape_string($_POST['pk']). "';"; $this->sql->ejecuta($comando); $exito = !$this->sql->error(); $mensaje = $this->sql->mensajeError(); $resp = $this->mensaje($exito, $mensaje); return $this->respuesta($resp); } } private function obtiene() { if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { $comando = "select id, descripcion from " . $this->tabla . " order by descripcion asc;"; $this->sql->ejecuta($comando); $exito = !$this->sql->error(); $mensaje = $this->sql->mensajeError(); if (!$exito) { return $this->respuesta($this->mensaje($exito, $mensaje)); } $filas = array(); while($r = $this->sql->procesaResultado()) { $filas[] = array($r['id'] => $r['descripcion']); } $resp = json_encode($filas); return $this->respuesta($resp); } } } ?>