Ver Mensaje Individual
  #18 (permalink)  
Antiguo 15/02/2014, 00:12
lolainas
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Separar cadena en multiples secciones para crear filtro

Ya que estamos lo dejamos todo hecho :P
Código PHP:
Ver original
  1. class Filter {
  2.  
  3.     private $filtros = [];
  4.  
  5.     function __get($filtro) {
  6.         return "$filtro IN(" . implode(",", $this->filtros[$filtro]) . ")"; /** @author alexis */
  7.     }
  8.  
  9.     function __construct($cadena) {
  10.         foreach (explode('&', $cadena) as $par) {
  11.             list($filtro, $valor) = explode('=', $par);
  12.             $v = is_numeric($valor) ? $valor : "'$valor'";
  13.             if (is_array($f = &$this->filtros[$filtro]))
  14.                 $f[] = $v; /** @author alexis */
  15.             else
  16.                 $f = [$v];
  17.         }
  18.     }
  19.  
  20. }
  21.  
  22. $cadena = "select_time=2&grade=3&grade=4&grade=terror&genre=amor&genre=9&genre=5&language=0";
  23. $filtros = new Filter($cadena);
  24. $consulta = "SELECT * FROM tblmovies WHERE $filtros->grade AND $filtros->genre AND $filtros->language AND $filtros->select_time;";
  25. var_dump($cadena, $filtros, $consulta);