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 :

Numero de ticket à zéro quotidiennement


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Actif ouais
    Inscrit en
    Septembre 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Actif ouais

    Informations forums :
    Inscription : Septembre 2017
    Messages : 45
    Par défaut Numero de ticket à zéro quotidiennement
    Bonjour, dans le cadre d´Un formulaire de commande (ticket de restaurant) obtenir un numero de commande allant de 1 à x et revenir à 1 à x tous les jours.

    Table commande : id_commande, date_commande, detail_commande, etc..

    Comment faire ?

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    comment tu détermines le numéro de ton ticket (poste le code stp)

  3. #3
    Membre averti
    Homme Profil pro
    Actif ouais
    Inscrit en
    Septembre 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Actif ouais

    Informations forums :
    Inscription : Septembre 2017
    Messages : 45
    Par défaut
    Bah justement mdr je n'ai pas de codes pour mon ticket, je ne veux pas utiliser la clé primaire, je veux un nouveau champs avec un numéro du style (last iddujour+1 qui repart à zéro chaque jour)

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    une table ticket_table avec deux colonnes nr_ticket et date_ticket

    On tente d'abord d'incrémenter le numéro du ticket

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    Update ticket_table set nr_ticket=nr_tickets+1 where date_ticket=curdate()

    Si cette requête retourne une erreur ou false, cela veut dire qu'il n'y a pas eu de ticket ce jour,
    Il sufftit alors de l'initialiser poru le jour :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    Insert into ticket_table (date_ticket, nr_ticket) values (curdate(), 1)
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre averti
    Homme Profil pro
    Actif ouais
    Inscrit en
    Septembre 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Actif ouais

    Informations forums :
    Inscription : Septembre 2017
    Messages : 45
    Par défaut
    Bonjour,

    Je n'arrive pas à mettre en oeuvre la solution que tu me présentes.

    Je souhaite faire un insert (selectmax nr_ticket +1 ou 1 si la date du jour a changé).

  6. #6
    Membre averti
    Homme Profil pro
    Actif ouais
    Inscrit en
    Septembre 2017
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Actif ouais

    Informations forums :
    Inscription : Septembre 2017
    Messages : 45
    Par défaut
    Bonjour,

    Je suis toujours bloqué.
    Je comprends pas l'update, je n'veux pas modifier de ligne precedente.

    Je n'arrive pas à construire ma requete. Je peux changer les tables si il le faut.

    Je souhaite apres l'insert de la commande totale, lui attribuer un numero de commande (autre que id primary key) qui se reinitialise chaque jour.

    Ex :
    Lundi 1 : 1
    Lundi 1 : 2
    Mardi 2 : 1
    Mardi : 2

    L'idee je l'ai comprise :

    If datecommande = aujourd'hui
    Then insert select max_numcommande+1
    Elseif numcommande =1.

    Est-ce que dans l'idee ca c'est bon? Etant donné que datecommande n'est pas encore inseré. (J'ai un script qui affiche la date complete avec heure, je peux m'en servir lors de l'insert)
    Mais pour la syntaxe de la requete je n'y arrive pas du tout.

    Merci.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Principe :
    1- Une colonne "num_commande" dans la table "commande" (pas besoin de table supplémentaire)

    2- SQL : Requête du num MAX pour CE jour :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT MAX(num_commande) AS max_num FROM commande WHERE date_commande = NOW()"
    N.B. NOW() ou CURDATE() : en fonction du fromat de la colonne "date_commande" (voir SQL - Fonctions de dates et d’heures)

    3- PHP : traitement du résultat de la requête :
    • si pas de résultat -> c'est la 1ère commande de la journée : $Num =1;.
    • si il existe un résultat -> on incrémente : $Num = $row['max_num']+1;.
    Dernière modification par Invité ; 08/05/2020 à 09h23.

Discussions similaires

  1. [XL-2010] remise a zéro d'un numero en fonction de l'anné
    Par florent73 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 05/12/2017, 11h18
  2. Recuperation du numero de la ligne du select
    Par P'tit Jean dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 15/10/2007, 17h31
  3. Valeurs Nulles ou Valeurs à Zéro
    Par LLaurent dans le forum XMLRAD
    Réponses: 5
    Dernier message: 30/07/2003, 11h40
  4. generer un numero auto a chaque insertion
    Par julio84 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 15/07/2003, 12h22
  5. probleme avec une division par zéro
    Par jcharleszoxi dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/03/2003, 18h14

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