Se connecter avec
S'enregistrer | Connectez-vous

Restriction requête de deux tables concatenées

Dernière réponse : dans Programmation

Bonjour à tous, je "m'amuse" depuis plusieurs jours à finir mon projet de bac que je devrais présenter, qui consiste à gérer des gîtes.

Mon problème, lorsqu'un client éxécute la requête via un formulaire (Date début du séjour: XX/XX/XXX, Date fin du séjour: XX/XX/XXXX, Nombre de chambres souhaitées: X)
il faut que j'affiche les gîtes qui ne sont pas reservés pendant la période indiquée par l'utilisateur.

J'ai une table réservation:
Réservation: nores(clé primaire), datedebres, datefinres, nogiteres(clé externe à la table gite)

Une table Gite
Gite: nogite(clé primaire), tous pleins de champs concernant le gite.

Voilà mon code qui est censé limiter l'affichage aux gîtes non occupés pendant la période dite:

  1. $dateresdebform = $_GET['dateresdebform'];
  2. $dateresfinform = $_GET['dateresfinform'];
  3. $nbchambresform = $_GET['nbchambresform'];
  4.  
  5. $sql="Select dateresdeb, dateresfin, nogiteres, nogite, ruegite, cpgite, villegite, nbplaces, nbchambres, surface, jardin, cdproprio
  6.  
  7. FROM gite, reservation
  8. where gite.nogite=reservation.nogiteres
  9. and dateresdeb!=$dateresdebform
  10. and nbchambres>=$nbchambresform
  11.  
  12. group by nogite asc";
  13.  
  14. $req=donne_resultat_SQL($sql);
  15. while ($res = mysql_fetch_array($req))
  16. {
  17. echo "
  18. <div align=center>
  19.  
  20. <table bordercolor=#000000 style=\"border-style: dashed; border-width: 1px 1px 1px 1px;\" cellpadding=5 cellspacing=2 width=450>
  21. <tr>
  22. <td></td>
  23. <td style=\"border-style: dashed; border-width: 0px 0px 0px 1px;\" bgcolor=#E8E8E8 width=150><font colOR=a70000>Adresse du gîte</font</td>
  24. <td style=\"border-style: dashed; border-width: 0px 0px 0px 1px;\" bgcolor=#E8E8E8 width=150><font colOR=a70000>Places / Chambres</font></td>
  25. </tr>
  26. <tr>
  27. <td class=tdcenter width=150>Présentation du gîte <span class=puce2>".$res['nogite']."</span></td>
  28. <td style=\"border-style: dashed; border-width: 0px 0px 0px 1px;\" class=tdcenter width=150>
  29. ".$res['ruegite']."
  30. <br>
  31. ".$res['cpgite']." ".$res['villegite']."
  32. </td>
  33. <td style=\"border-style: dashed; border-width: 0px 0px 0px 1px;\" class=tdcenter>
  34. Places: <span class=puce>".$res['nbplaces']."</span>
  35. <br>
  36. Chambres: <span class=puce2>".$res['nbchambres']."</span>
  37. </td>
  38. </tr>
  39. <tr>
  40. <td colspan=3 ><div align=right><i><a href=consultation_gite.php?nogite=".$res['nogite']."&cdproprio=".$res['cdproprio']."><span class=puce>++</span> Cliquez-ici pour plus d'informations...</a></i></div></td>
  41. </tr>
  42. </table>
  43.  
  44. </div><br>";


Je pense que c'est un problème au niveau de mes restrictions, le résultat est qu'il m'affiche tous les gîtes qui ont une réservation, les gîtes qui ne sont pas présents dans la table réservation ( cest qu'ils ne sont pas reservés ) ne sont pas affichés. De plus la contraite "nbchambres" n'est pas prise en compte :( 

Merci de votre aide :) 

( petit screen du formulaire qui peut aider à comprendre )

Lassé par la pub ? Créez un compte
Lassé par la pub ? Créez un compte
Tom's guide dans le monde