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 :

Insérer une incrémentation [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2021
    Messages : 3
    Par défaut Insérer une incrémentation
    Bonjour, j'ai un problème concernant une incrémentation, je ne sais pas comment faire.

    Voici mon problème :

    Nom : Capture d’écran 2021-01-06 115709.png
Affichages : 129
Taille : 41,3 Ko

    Je souhaiterai que la coupure s'incrémente à chaque fois que NumAct est égal à 2. Dans mon cas Coupure reste à la valeur 1 au lieu de passer à la valeur 2 et ainsi de suite ..

    Voici mon code :
    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
    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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
     
    <?php
        date_default_timezone_set('Europe/Paris');
        $date = date('Y/m/d');
        $heure = date('H:i:s');
        $iduti = $_SESSION['IdUti'];
     
     
        $coupur = 0;
        $DerniereC = $db->query("SELECT max(NumAct) as MaxNumAct FROM badge WHERE IdUti = '$iduti' AND Date = '".date('Y/m/d')."' AND Coupure = $coupur");
        $resultC = $DerniereC->fetch();
        $Derniere = $db->query("SELECT max(NumAct) as MaxNumAct, max(Coupure) as CoupureMax FROM badge WHERE IdUti = '$iduti' AND Date = '".date('Y/m/d')."'");
        $result = $Derniere->fetch();
        if($resultC['MaxNumAct'] == 2)
        {
            $coupur = $coupur + 1;
        }
     
        $DerniereC = $db->query("SELECT max(NumAct) as MaxNumAct FROM badge WHERE IdUti = '$iduti' AND Date = '".date('Y/m/d')."' AND Coupure = $coupur");
        $resultC = $DerniereC->fetch();
        $DerniereLigne = $db->query("SELECT NumAct, max(Heure) as HeureMax FROM badge WHERE IdUti = '$iduti' AND Date = '".date('Y/m/d')."' AND Coupure = '$coupur' GROUP BY NumAct");
        $resultat = $DerniereLigne->fetch();
     
        if($resultat['NumAct'] == NULL || $resultC['MaxNumAct'] == 2)
        {
            echo '<form method="POST">';
                echo '<input class="btnba" type="submit" value="Entrée" name="badgeentree" id="badgeentree">';
            echo '</form>';    
        } 
        else 
        {
            // $Dernier = $db->query("SELECT min(NumAct) as MinNumAct FROM badge WHERE IdUti = '$iduti' AND Date = '".date('Y/m/d')."'");
            // $resul = $Dernier->fetch();
     
            // if($resul['MinNumAct'] == 1)
            // {
                echo '<form method="POST">';
                    echo '<input class="btnba" type="submit" value="Sortie" name="badgesortie" id="badgesortie">';
                echo '</form>';
            // }
     
            // $Derniere = $db->query("SELECT max(Coupure) as MaxCoupure, max(NumAct) as MaxNumAct, max(Heure) as HeureMax FROM badge WHERE IdUti = '$iduti' AND Date = '".date('Y/m/d')."'");
            // $result = $Derniere->fetch();
     
            // if($result['MaxNumAct'] == 2)
            // {
            //     echo '<form method="POST">';
            //         echo '<input class="btnba" type="submit" value="Entrée" name="badgeentree" id="badgeentree">';
            //     echo '</form>';    
            // }
        }
     
        // $coupure = 0;
        // $Derniere = $db->query("SELECT max(Coupure) as MaxCoupure, max(NumAct) as MaxNumAct, max(Heure) as HeureMax FROM badge WHERE IdUti = '$iduti' AND Date = '".date('Y/m/d')."'");
        // $result = $Derniere->fetch();
        // if($result['MaxNumAct'] == 2)
        // {
        //     $coupure += 1;
        // }
        if(isset($_POST['badgeentree'])) 
        {
            extract($_POST);
     
            $Entree = $db->prepare("INSERT INTO badge(IdUti, NumAct, Coupure, Date, Heure) VALUES('$iduti', 1, $coupur, '$date', '$heure')");
            $Entree->execute([
            'IdUti' => $iduti,
            'NumAct' => 1,
            'Coupure' => $coupur,
            'Date' => $date,
            'Heure' => $heure,
            ]);
            echo '<div class="">';
                echo "<h3 class='text-success'>Votre badgeage d'entrée a été validé.</h3>";
            echo '</div>';
            header("Refresh:0");
        } 
        else 
        {
            if(isset($_POST['badgesortie'])) 
            {
                extract($_POST);
     
                $Sortie = $db->prepare("INSERT INTO badge(IdUti, NumAct, Coupure, Date, Heure) VALUES('$iduti', 2, $coupur, '$date', '$heure')");
                $Sortie->execute([
                'IdUti' => $iduti,
                'NumAct' => 2,
                'Coupure' => $coupur,
                'Date' => $date,
                'Heure' => $heure,
                ]);
                echo '<div class="">';
                    echo "<h3 class='text-success'>Votre badgeage de sortie a été validé.</h3>";
                echo '</div>';
                $coupur += 1;
                header("Refresh:0");
            } 
            else 
            {
                echo '<div class="">';
                    echo '<h3 class="text-success">Veuillez badger.</h3>';
                echo '</div>';
            }
        }
        // }
        ?>
    PS : Ne faites pas attention aux commentaires lol

    Merci pour votre aide.

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 571
    Par défaut
    à quoi correspondent les données "coupure" et "num act" ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2021
    Messages : 3
    Par défaut
    NumAct 1 correspond à l'appuie sur le bouton Entrée et NumAct 2 sur le bouton sortie (En gros c'est pour pouvoir calculer un temps de travail entre deux intervalles)
    S'il y a eu une entree et une sortie alors ça compte une Coupure, c'est le nombre de fois que l'employé à travailler en une journée, par exemple (8h10h 11h13h 14h17h etc)

  4. #4
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 571
    Par défaut
    le champ coupure dépend des autres champs de la table donc je pense qu'il y a un soucis de conception de cette table.
    ce champ n'est pas une données mais le résultat de calculs donc vous devriez juste stocker en base de données les heures de sorties et d'entrée et ensuite calculer le temps de travail à partir de ces heures.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2021
    Messages : 3
    Par défaut
    En effet, j'ai réussi à faire quelque chose mais je voudrais savoir comment je pourrais alterner le bouton entree et sortie svp voici mon nouveau code :Nom : Screenshot_20210106-170201_Discord.jpg
Affichages : 82
Taille : 240,0 Ko
    Et voici ce que cela donne dans ma table :
    Nom : Screenshot_20210106-170154_Discord.jpg
Affichages : 81
Taille : 85,5 Ko

    Merci beaucoup pour votre aide

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

Discussions similaires

  1. [MySQL] Problème d'incrément avec PHP - mySQL
    Par gilouu dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 10/10/2009, 12h22
  2. [MySQL] MySQL: Problème d'incrémentation, PHP/HTML: Problème de formulaire
    Par ykseb dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 22/01/2009, 14h49
  3. [COM] Problème COM et PHP
    Par goldeneagle dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 27/09/2005, 22h41
  4. [PHP-JS] Problème de variable PHP dans un script JS
    Par soad029 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/08/2005, 22h17
  5. [XSL] Problème d'incrémentation
    Par OXyGN dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 28/01/2005, 12h48

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