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

Langage PHP Discussion :

switch pour les heures creuses et pleines


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 412
    Points : 79
    Points
    79
    Par défaut switch pour les heures creuses et pleines
    Bonjour,

    J'ai besoin de faire avec php un switch pour les heures creuses et les heures pleines.
    Dans un formulaire son inscrit les heures qui sont stockées sur la basse de données mysql, et lu depuis les variables ci-dessous.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $debut_hc=23;
    $fin_hc=7;
    $debut_hp=7;
    $fin_hp=23;
    ici on comprend bien que les heures creuses son de 23H à 7H et les heures pleines de 7H à 23H.

    Mais ça marche pas vraiment, je ne trouve pas la bonne formule?
    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
     
    $heure = date("G") ;
     
    $debut_hc=23;
    $fin_hc=7;
    $debut_hp=7;
    $fin_hp=23;
     
    switch ($heure)
      {
      case (($debut_hp > $fin_hp) && ($debut_hp < $fin_hp)) :
        $tarif_horaire = HP;
        echo "Tarif_horaire : 7H - 23H --> HP <br>";
        break;
      case (($heure < $debut_hc) && ($heure < $fin_hc)) :
        $tarif_horaire = HC;
        echo "Tarif_horaire : 23H - 7H --> HC <br>";
        break;
      default:
        echo "tarif_horaire : default <br>" ;
        break;
      }
    Pouvez-vous m'aider ?

    Merci.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    "case" ce n'est pas un "if".

    Encore une fois, il suffit de faire simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $heure = date("G");
    if ($heure >= 7 && $heure < 23) {
       // heure pleine
    }
    else {
      // heure creuse
    }

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 412
    Points : 79
    Points
    79
    Par défaut
    Bonjour,

    il y avaist un problème, j'ai remplacé "||" par "&&", ça marche nickel.
    Merci de votre aide.

    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
     
    //définition des heures H.P et H.C
    $debut_hc=23;
    $fin_hc=7;
    $debut_hp=7;
    $fin_hp=23;
     
    //heure actuel
    $heure = date("G");
    echo "Heure : $heure <br><br>";
     
    // Vérifie si on est en H.C ou H.P.
    if ($heure >= $debut_hp && $heure < $fin_hp) {
       $tarif_horaire = hp ;
       echo "Tarif horaire : $debut_hp H - $fin_hp H --> H.P <br>";
       // heure pleine
       }
      else 
      { 
      $tarif_horaire = hc ;
      echo "Tarif horaire : $debut_hc H - $fin_hc H --> H.C <br>";
      // heure creuse
    }
    Mais je n'ai pas compris comment mettre le H de heure a coté des variables.
    exemple : au lieu de pour afficher ne fonctionne pas ?
    Il croit que le H fait partie de la variable alors que non, comment faire ?

    Merci.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2014
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Bonsoir,

    le "point-égal" permet de concaténer le "H" à la valeur de ta variable.

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo $fin_hp.'H';
    //...
    echo 'Tarif horaire : '.$debut_hp - $fin_hp.'H --> H.P <br>';

Discussions similaires

  1. [10g] Switch log et archivage toutes les heures
    Par star dans le forum Oracle
    Réponses: 13
    Dernier message: 09/09/2012, 18h57
  2. Réponses: 4
    Dernier message: 21/12/2007, 15h23
  3. Un tableau pour les Heures
    Par verdurand dans le forum 4D
    Réponses: 2
    Dernier message: 29/05/2007, 19h14
  4. Syntaxe pour les heures
    Par Soph70 dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 26/09/2006, 15h48
  5. Recherche sur tous les forums active en heures creuses
    Par Anomaly dans le forum Evolutions du club
    Réponses: 7
    Dernier message: 10/05/2006, 20h38

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