IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Une table pour des réservations [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut Une table pour des réservations
    Bonjour,

    Je fais un site pour des réservations à la semaine et j'aimerai bien savoir comment je peux construire la table.

    J'ai pensé à une table "semainier" du genre :
    - id_logement (qui fait référence à la table des logements)
    - semaine1 (où j'indiquerai un tarif)
    - statut1 (où j'indiquerai 0 pour libre et 1 pour non disponible)
    - semaine2
    - statut2
    - semaine3
    - statut3
    etc... jusqu'à la semaine 52

    Ma requete serait
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    Select * From semainier Where id_logement = $id_logement;
    Ensuite je crée un tableau que je complète avec toutes les semaines en lisant les champs de la table

    01/01/2011 08/01/2011 200 blanc si 0
    08/01/2011 15/01/2011 250 X si non disponible
    15/01/2011 22/01/2011 250 blanc si 0
    Je voudrais avoir des avis sur cette façon de traiter les réservations car je n'ai pas envie de créer une table avec 105 champs, de créer le tableau des réservations si quelqu'un peut me proposer une façon de faire plus simple.

    Est ce que je ne risque pas d'avoir un problème pour traiter le mois de février ?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 288
    Par défaut
    Reservations(id_logement, id_semaine, statut)
    Semaines(id_semaine, Debut, Fin, Annee)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Select * 
    From Reservations R
      Inner Join Semaines On R.id_semaine = S.id_Semaine
    Where id_logement = $id_logement

  3. #3
    Membre éprouvé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut
    Merci pour la réponse.

    Dans ton exemple je ne vois pas où je mets le prix des réservations par semaine. Surement dans la table reservations ?

    Comment je fais la maintenance de la table semaines ? manuellement ? ou alors je crée une requête qui s'exécute automatiquement -ou pas- au changement d'année ?

  4. #4
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 288
    Par défaut
    Citation Envoyé par philippef Voir le message
    Merci pour la réponse.

    Dans ton exemple je ne vois pas où je mets le prix des réservations par semaine. Surement dans la table reservations ?
    si c'est le prix appliqué à chaque réservation, oui.
    Citation Envoyé par philippef Voir le message
    Comment je fais la maintenance de la table semaines ? manuellement ?
    Manuellement ? Tu veux dire, comme si tu étais un opérateur de saisie ?


    Citation Envoyé par philippef Voir le message
    ou alors je crée une requête qui s'exécute automatiquement -ou pas- au changement d'année ?
    oui, ou plus simplement, tu peux calculer à l'avance les cent prochaines années, ce qui devrait t'assurer qu'on ne viendrait pas te demander de venir corriger le bug de l'an 2111.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut
    Citation Envoyé par Antoun Voir le message
    si c'est le prix appliqué à chaque réservation, oui.
    oui c'est 1 prix par semaine par logement donc je vais ajouter un champ

    Citation Envoyé par Antoun Voir le message
    Manuellement ? Tu veux dire, comme si tu étais un opérateur de saisie ?
    Je suis d'accord ce n'est pas une bonne idée.


    Citation Envoyé par Antoun Voir le message
    oui, ou plus simplement, tu peux calculer à l'avance les cent prochaines années, ce qui devrait t'assurer qu'on ne viendrait pas te demander de venir corriger le bug de l'an 2111.
    Que veux-tu dire par calculer les 100 prochaines années ? c'est prévoir les requetes de mises à jour ou créer les tables que l'on supprimerait au fil des ans. Je crois que je me conterai de 10 à 20 ans.
    Il serait quoi ce bug de 2111 ? Bien sur c'est par curiosité parce que cette année je n'aurai plus mal aux dents

  6. #6
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 288
    Par défaut
    Citation Envoyé par philippef Voir le message
    Que veux-tu dire par calculer les 100 prochaines années ? c'est prévoir les requetes de mises à jour ou créer les tables que l'on supprimerait au fil des ans.
    Non, faire une seule table avec toutes les années.
    Citation Envoyé par philippef Voir le message
    Je crois que je me conterai de 10 à 20 ans.
    Il serait quoi ce bug de 2111 ? Bien sur c'est par curiosité parce que cette année je n'aurai plus mal aux dents
    Et bien, si tu crées aujourd'hui un calendrier couvrant les 100 prochaines années, et que ton application perdure jusque-là, en 2111 ils vont s'apercevoir que le calendrier ne contient plus de date utilisable... Si tu ne fais que 10 ans, cela arrivera en 2021.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer des noms de fichier dans une table pour les placer en masque du tfilelist
    Par charliplanete dans le forum Développement de jobs
    Réponses: 11
    Dernier message: 24/08/2011, 17h16
  2. Réponses: 9
    Dernier message: 27/03/2011, 00h42
  3. Remplir une table pour faire des tests
    Par softopus dans le forum Débuter
    Réponses: 3
    Dernier message: 15/02/2010, 20h26
  4. Réponses: 0
    Dernier message: 07/04/2008, 17h56
  5. Boucler sur une table pour renommer des valeurs
    Par webwhisky dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 03/01/2006, 14h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo