Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/11/2013, 16:13
Avatar de mortiprogramador
mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Lógica peticiones API Rest

<saludos>
Pues revisando lo que quieres implementar, en el caso de usar la función única
tendrías problemas pues:

1. En el switch se valida el campo $parametros (que no veo por ningún lado) y por ende al hacer la consulta y como $condicion no tendría valor,
el query explotaría (sin embargo $parametros pudo haber sido obviada al crear el post)

2. Una vez se solucione el punto 1, al dar valor a $condicion en este ciclo, y si viene más de una condición (es decir, si $_POST['parametros'] es array),
$condicion quedaría así:

Código PHP:
Ver original
  1. $condicion = 'id = '.$_POST['parametros'][$i].' codSocio = '.$_POST['parametros'][$i];

En cuyo caso al unirlo luego a $consulta, de nuevo va a explotar pues la cláusula WHERE solo soporta una condición y aquí quedaría con 2
condiciones dentro del WHERE

3. Como consecuencia del punto 2, entonces la variable $condicion sería mejor que se volviese una serie de condiciones
(ya sea una serie de AND o de OR, como mejor se ajuste)
y el WHERE que vaya genérico en la variable $consulta, me explico


Código PHP:
Ver original
  1. switch($parametros){
  2.     case: "id" {$condicion .= 'AND id = '.$_POST['parametros'][$i]; break;}
  3.     case: "codSocio" {$condicion .= 'AND codSocio = '.$_POST['parametros'][$i]; break;}
  4. }


teniendo a $condicion como

Código PHP:
Ver original
  1. $condicion = 'AND id = '.$_POST['parametros'][$i].' AND codSocio = '.$_POST['parametros'][$i];
y al final

Código PHP:
Ver original
  1. $consulta="select * from ... where id is not null ".$condicion;
Así incluso aseguramos que no explotará sea o no que $condicion tenga valor, obviamente puede ser una mejor
condición inicial en el WHERE, lo mio es solo un ejemplo

Sin embargo creo que finalmente esta es mejor opción, pues si se divide en varias funciones,
el mantenimiento para cada una luego puede ser extenso, pero si se tiene todo en una sola función,
los ajustes serán mucho más corto de realizar.

Pero pues es como yo lo veo, así que la misión si se decide aceptar es revisar lo que comentó y ver si
es posible de implementar dentro del modelo que se quiere.

</saludos>
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com