Corrijo: Para que no tengas problemas en la recepción de datos, hazlo así:
Código Javascript
:
Ver original$.ajax({
url: "ejemplo.php",
type: "GET",
data: {
grade: [2, 5, 9],
genre: [10, 8, 4],
select_time: 3,
language: 1
},
success: function(response){
//Acá haces algo con la respuesta del servidor
}
});
Y añado un par de cositas más para hacer más robusta la parte en PHP:
Código PHP:
Ver original$grade = !is_null($_GET["grade"]) ?
"(" . implode(",", $_GET["grade"]) . ")" : ""; $genre = !is_null($_GET["genre"]) ?
"(" . implode(",", $_GET["genre"]) . ")" : ""; $select_time = !is_null($_GET["select_time"]) ?
$_GET["select_time"] : ""; $language = !is_null($_GET["language"]) ?
$_GET["language"] : "";
//Acá comprobamos qué datos han llegado para armar la condición en la consulta
$condicion = (isset($grade) ?
"grade IN $grade" : "") . (isset($genre) ?
(isset($grade) ?
" AND " : "") . "genre IN $genre" : "") . (isset($select_time) ?
(isset($grade) || isset($genre) ?
" AND " : "") . "select_time = $select_time" : "") . (isset($language) ?
(isset($grade) || isset($genre) || isset($select_time) ?
" AND " : "") . "language = $language" : "");
$query = "SELECT * FROM tblmovies" . strlen($condicion) ?
" WHERE $condicion" : "";
Como es posible que algunas variables no contengan datos, es mejor hacer la comprobación respectiva, de modo que si no hay datos, la consulta no lanzará errores por falta de una condición.