. */ //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(['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 = []; while ($r = $this->sql->procesaResultado()) { $filas[] = [$r['id'] => $r['descripcion']]; } $resp = json_encode($filas); return $this->respuesta($resp); } } }