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 ?
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 ?
Salut,
comment tu détermines le numéro de ton ticket (poste le code stp)
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)
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 !
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é).
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.
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 :
N.B. NOW() ou CURDATE() : en fonction du fromat de la colonne "date_commande" (voir SQL - Fonctions de dates et d’heures)
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part "SELECT MAX(num_commande) AS max_num FROM commande WHERE date_commande = NOW()"
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.
Partager