Je suis bloqué pour essayer de résoudre ce problème pendant quelques jours. J'ai même abandonné pendant un moment, et depuis que je suis un débutant PHP, j'ai besoin d'aide.Aide sur la requête SQL
Ceci est mon problème: J'ai une requête qui sélectionne tous les enregistrements appropriés dans un tableau « hôtels » et pour chaque hôtel cherche chambre réservée de certains types dans le tableau « de booked_rooms » et tout cela pendant une certaine période. Donc d'abord, je retire tous les hotel_ids de 'hotel_table', en fonction de l'emplacement fourni par le formulaire de recherche, et pour chaque hotel_id, je parcours la table 'reserved_rooms'.
Voici le code:
if(isset($_GET['book'])){
$sql=mysql_query("SELECT hotel_id FROM 'hotels' WHERE city='$city") or die(mysql_error());
while($row=mysql_fetch_array($sql)){
$sql_2=mysql_query("SELECT * FROM `booked_rooms` WHERE hotel_id='$hotel_id'
AND arrival_date BETWEEN '$arrival_date' AND '$departure_date'
OR departure_date BETWEEN '$arrival_date' AND '$departure_date'")
or die(mysql_error());
}
while($row_2=mysql_fetch_array($sql_2)){
print_r($row_2);
}
}
// $city, $arrival_date and $departure date are values retrieved from the search form
Le problème est que je reçois une boucle à travers la table « hôtel » et obtenir toutes les hotel_ids appropriés à l'emplacement, mais ai rien avec l'impression du tableau de row_2 de $. J'ai essayé d'utiliser JOINS dans la boucle SQL foreach, mais pas de chance non plus. Je sais que c'est une question triviale, mais je continue d'apprendre, donc tout conseil est très bien accueilli. Merci d'avance.
Vous n'avez pas besoin de parenthèses autour de la deuxième section de votre clause where? Sinon, la préséance de ces prédicats n'est pas claire ...? – Codewerks
Dang. Oui tu as raison. Je voulais ajouter ceux-ci, mais j'ai été distrait. C'est réparé. – staticsan