Witam! Mam dwa skrypty pierwszy przesyła wartość wybraną przez użytkownika przy pomocy <select> a drugi na tej podstawie wczytuje dane z bazy. Problem jest w sytuacji gdy potrzebuję wyświetlić na raz np pokoje z balkonem i bez balkonu czyli i balcony=1 i balcony =0. Próbuję przesłać z pierwszego skryptu dwie wartości w jednej zmiennej i potem umieścić w zapytaniu jako "..balcony IN(1,0)".
Niestety zamiast przecinka przechodzi "%2C" i nijak nie udaje mi się tego podmienić. Próbowałam przesyłać coś innego zamiast przecinka i potem to na ten przecinek podmienić, ale - za każdym razem łapie tylko 1.
Skrypt 1: jQuery
function loadResources() {
var balcony = "";
var balc = jQuery("#filter2").val();
if(balc == "all"){balcony = "1I0";}
if(balc =="tak"){balcony = "1I1";}
if(balc =="nie"){balcony = "0I0";}
console.log(balcony);
jQuery.post("/administrator/modules/mod_activate/backend_rooms.php",
{ type: jQuery("#filter").val().slice(1,-1),
parent: jQuery("#owner").val(),
balcony: balcony },
function(data) {
dp.resources = data;
dp.update();
});
}
Skrypt 2: PHP
$balcony = "";
$stmt = $db->prepare("SELECT * FROM jos_program_room WHERE owner = :parent AND balcony IN(:balcony) AND (type = :type OR :type = '0') ORDER BY room_nr");
$stmt->bindParam(':type', $_POST['type']);
$stmt->bindParam(':parent', $_POST['parent']);
$stmt->bindParam(':balcony', $balcony );
//echo '<script>console.log('.$db.');</script>';
$stmt->execute();
$rooms = $stmt->fetchAll();
class Room {}
foreach($rooms as $room) {
$r = new Room();
$r->id = $room['room_nr'];
$r->type = $room['type'];
$r->name = $room['room_nr'];
$r->capacity = $room['capacity'];
$r->status = $room['status'];
$r->balkon = $room['balcony'];
$result[] = $r;
}
header('Content-Type: application/json'); echo json_encode
($result);
?>