Réserfvation des chambres d'hôtel

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour! J'ai un examen de projet de réservation des chambres d'hôtel réalisé en php mysql. En fait, pour le CRUD client tous c'est bien passé et les chambres sont été entré manuellement c'est à dire dépuis la base phpmyadmin mais le problème c'est sur la réservation des chambres puisqu'il faut d'abord afficher les chambres libres pour faire une réservation. Et afficher aussi les réservations pour faire une modification. Maintenant je ne sais pas comment procéder et je voudrai de l'aide s'il vous plait! Merci d'avance.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
              -------------------------------    --------------------------------------------------------
-- phpMyAdmin SQL Dump
-- version 3.5.4
-- http://www.phpmyadmin.net
--
-- Client: localhost
-- Généré le: Mer 11 Novembre 2015 à 03:18
-- Version du serveur: 5.5.28-log
-- Version de PHP: 5.4.9

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Base de données: `hotel`
--

-- --------------------------------------------------------

--
-- Structure de la table `chambre`
--

CREATE TABLE IF NOT EXISTS `chambre` (
  `numero` int(11) NOT NULL,
  `Libelle` varchar(50) NOT NULL,
  PRIMARY KEY (`numero`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


-- --------------------------------------------------------

--
-- Structure de la table `client`
--

CREATE TABLE IF NOT EXISTS `client` (
  `code` int(11) NOT NULL AUTO_INCREMENT,
  `nom` varchar(50) NOT NULL,
  `prenom` varchar(25) NOT NULL,
  `email` varchar(25) NOT NULL,
  `telephone` text NOT NULL,
  PRIMARY KEY (`code`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;

-- --------------------------------------------------------

--
-- Structure de la table `reservation`
--

CREATE TABLE IF NOT EXISTS `reservation` (
  `id` int(11) NOT NULL,
  `numerochambre` int(11) NOT NULL,
  `codeclient` int(11) NOT NULL,
  `dateDebut` date NOT NULL,
  `dateFin` date NOT NULL,
  PRIMARY KEY (`id`,`numerochambre`,`codeclient`),
  KEY `fk_numerochambre` (`numerochambre`),
  KEY `fk_codeclient` (`codeclient`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

EDIT by artragis : formattage du sql + déplacement dans le forum web

Édité par artragis

+0 -0

Salut,

Tu pourrais nous montrer ce que tu as fait ? Parce que là, ca va pas etre possible de bien t'orienter si on voit pas plus précisement ou tu bloques… C'est une application ou bien tu dois juste produire des requetes SQL ?

Édité par grugru

+3 -0
Auteur du sujet

Salut, c'est une application. Le problème c'est sur l'affichage des chambres libres c'est à dire affficher les chambres qui qui n'existent pas dans la table réservation; et choisir une chambre pour faire une réservation..

+0 -0
Staff

bah tu n'as qu'à traduire ça en anglais :

1
2
3
SELECT * FROM chambre 
WHERE numero NOT IN 
    (SELECT fk_numerochambre FROM reservation WHERE la_date_desiree BETWEEN dateDebut AND dateFin)

qui peut se traduire par "prend les chambres dont le numéro n'est pas dans la table de réservation pour la date désirée.

+1 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte