Buongiorno a tutti sono nuovo in questo forum e neofita di php.
Ho un problema con una quei che non riesco a completare.
La ricerca della disponibilità della camera la fa correttamente ma il controllo se esistono dei prezzi nella tabella prezzi in riferimento alle date selezionate non funge...
Questa è la query di ricerca e funziona:
$sql="SELECT * FROM camere AS c WHERE adulti >='$adulti' AND bambini >='$bambini' AND c.camere_city='".$_SESSION['cityid']."' AND c.camere_status='A' AND camere_startdate <=now() AND camere_enddate > now() AND c.camere_id NOT IN ( SELECT p.cameraid FROM camereprenotate AS p WHERE ( p.stato='A' AND p.data_partenza > $data_post_arrivo_convertita AND p.data_arrivo < $data_post_partenza_convertita ) OR ( p.stato='A' AND p.data_partenza <= $data_post_arrivo_convertita AND p.data_partenza >= $data_post_partenza_convertita )) ";
poi ho aggiunto avendo una tabella prezzi la seguente query che non la considera :
AND c.camere_id IN ( SELECT pr.roomid FROM prezzi AS pr WHERE pr.Start_date_str >= $data_post_arrivo_convertita AND pr.End_date_str <= $data_post_partenza_convertita )
in sostanza ho unito le query in questo modo:
$sql="SELECT * FROM camere AS c WHERE adulti >='$adulti' AND bambini >='$bambini' AND c.camere_city='".$_SESSION['cityid']."' AND c.camere_status='A' AND camere_startdate <=now() AND camere_enddate > now() AND c.camere_id NOT IN ( SELECT p.cameraid FROM camereprenotate AS p WHERE ( p.stato='A' AND p.data_partenza > $data_post_arrivo_convertita AND p.data_arrivo < $data_post_partenza_convertita ) OR ( p.stato='A' AND p.data_partenza <= $data_post_arrivo_convertita AND p.data_partenza >= $data_post_partenza_convertita )) AND c.camere_id IN ( SELECT pr.roomid FROM prezzi AS pr WHERE pr.Start_date_str >= $data_post_arrivo_convertita AND pr.End_date_str <= $data_post_partenza_convertita ) ";
ma mi da lo stesso camere disponibili anche se non ci sono prezzi assegnati nella tabella prezzi.
In sostanza la prima controlla la disponibilità e la seconda dovrebbe verificare se ci sono tutti i prezzi assegnati per quella disponibilità.
Spero di essere stato chiaro nella spiegazione del problema e che qualcuno possa aiutarmi a trovare quale sia l'errore.