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 :

boucle de réservation sur date


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    en formation
    Inscrit en
    Septembre 2019
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : en formation

    Informations forums :
    Inscription : Septembre 2019
    Messages : 90
    Par défaut boucle de réservation sur date
    Bonjour à tous.
    Petit exercices de boucle
    J'ai 25 chambre repartie de façon identique entre 5 villes donc 5 villes X 5 chambres.

    Pour le moment j'arrive à affecter une chambre différente pour des dates et ville identique.
    Mais si deux clients veulent louer l'un après l'autre la première chambre n'est pas redevenue disponible.

    exemple client 'un' loue la chambre 105 de Albi du 1 au 2 Si le client 'deux' veut louer du 3 au 4 il aura la chambre 104. Alors que la 105 est libre

    je pense que la solution ce ferra dans ma seconde boucle ELSEIF mais je n'y arrive pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    function verif($name, $choicecity, $datedebut, $datefin){
        $servername = 'localhost';
        $username = 'root';
        $password = '';
        $dbase = 'mabase';
        $today = date("Y-m-d"); 
     
        $chambre=100;
        while(++$chambre <=105){
          $mysqli = new mysqli ('127.0.0.1', 'root','', 'mabase');
          $result = $mysqli->query("SELECT nom, debut, fin, chambre FROM reservation WHERE choicecity ='$choicecity' and chambre='$chambre'");
          $row= $result->fetch_array();
     
          /*echo 'test pour la chambre' . $chambre .'<br>';*/
          if ((!isset ($row ['debut'])) and (!isset ($row ['fin']))) {/* aucune reservation pour cette ville */
            $pdo = new PDO("mysql:host=$servername;dbname=$dbase","$username","$password");                 
            $city = "UPDATE reservation SET debut='$datedebut', fin='$datefin', 
              choicecity='$choicecity', chambre='$chambre' WHERE nom='$name'";            
            $resultcity = $pdo->exec($city);  
          }
          elseif (($datedebut >= ($row ['fin'])) || ($datefin < ($row ['debut'])) ) {
     
            /* la solution est la mais ou ????*';
          } 
          
        }
        if (($datedebut >= ($row ['debut'])) && ($datedebut <= ($row ['fin']))){
          echo 'date de depart pour la ville de '. $choicecity .'déja prise';
        } 
        }
    Table reservation:

    id creation debut fin choicecity chambre nom mail
    16 NULL 30/12/2020 31/12/2020 Albi 105 un un.free.fr
    19 NULL 30/12/2020 31/12/2020 Albi 104 deux deux@free.fr
    20 NULL 30/12/2020 31/12/2020 Auch 105 trois trois@free.fr
    21 NULL 01/01/2021 02/01/2021 Auch 104 quatre quatre@free.fr

  2. #2
    Membre Expert

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 583
    Par défaut
    Salut,

    Ta condition doit ce faire au niveau sql https://sql.sh/cours/where/between
    Pourquoi boucler sur toutes les chambres?
    Sort ta connexion à la bdd de la boucle ici tu relance une connexion à chaque passage!

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

Discussions similaires

  1. tOracleInput - boucle sur date
    Par Arn.aud dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 01/09/2014, 14h44
  2. [XL-2007] Boucle sur date inopérante
    Par midge dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 31/03/2014, 16h32
  3. Calcul sur date : utilisation boucle DO WHILE?
    Par kedmard dans le forum SAS Base
    Réponses: 2
    Dernier message: 09/08/2011, 10h43
  4. Réponses: 10
    Dernier message: 26/11/2010, 08h50
  5. Calcul sur date
    Par Thomad dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/09/2003, 08h55

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