Accueil > Forum > > > > E-commerce et n° de commande
E-commerce et n° de commande
vendredi 5 mai 2006 à 08:51:00 |
E-commerce et n° de commande

murrigane
|
Bonjour, Je suis en train de developper une boutique en ligne, tout mon processus est mis en place et jusqu'à la validation de la commade tout est ok. Mon souci est que je voudrais générer des numéros de commandes d'au moins 6 caractères et si possible alphanumérique, mais la méthode me manque, je vois ce que je veux faire mais j'ai du mal à voir par où commencer. Dans la majeur partie des forums ou codes que j'ai consulté il n'y avait rien de spécifier à ce sujet, tout le monde se bornait à mettre en autoincrement le numero de la commande. Mais j'aimerai faire un truc "bien" voir qui reprenne la suite des numéros de comandes qu'il y a sur la boutique du site déjà existente pour pas qu'il y ait de creux pour la compta. Les numeros sur l'ancienne boutique sont Alpha numérique avec au moins 6 caractères. Si quelqu'un à une méthode à me proposer, Merci d'avance ! 
|
|
vendredi 5 mai 2006 à 09:14:32 |
Re : E-commerce et n° de commande

spyro666
|
Fait un numéro de commande avec time() et/ou microtime().
Ex :
$n_com = substr(time(),3) . substr(micrtotime(),0,10);
$n_com = substr (hexdec($n_com),2);
les numéros de commandes vont se suivre sans être exactement à la suite et si tu veux faire des numéro de commandes plus grand que 6 (genre 8), il te suffit d'enlever dans la dernière ligne le substr (...).
Voilà
Spyro666 contre le 555
|
|
vendredi 5 mai 2006 à 09:25:28 |
Re : E-commerce et n° de commande

murrigane
|
Merci Spyro666, mais j'ai deux petites questions pour ta méthode : 1 - Il me génère un numéro comme celui ci : 49944727581E+018 Comment enlever le +018 ? 2 - D'autre par je voudrais par exemple des numéro qui se suivent quand même genre (sur 8 caractères c'est mieux je pense) :
commande 1 : AA000001 commande 2 : AA000002 Ensuite quand il arrive au numéro AA999999, la commande suivante sera : AB000001 Voila.... J'espère que mon explication est clair, parce que je suis pas encore bien réveillée ! 
|
|
vendredi 5 mai 2006 à 11:27:13 |
Re : E-commerce et n° de commande

spyro666
|
C'est pour cette raison que j'ai mis le substr(time(), 3), pour réduire la chaine de 3 caractère afin d'éviter ce problème.
Bon comme tu me le présente la c'est un comptage deci-hexadecimal... C'est un peu complexe mais je pense que je peux te programmer ça.
Spyro666 contre le 555
|
|
vendredi 5 mai 2006 à 11:30:55 |
Re : E-commerce et n° de commande

murrigane
|
Merci c'est sympa de ta part !  Par contre si ca t'ennui pas, je te poserai surement d'autre questions par la suite, pour que je comprenne comment ca fonctionne  Encore merci, c'est un truc que j'ai encore pas fait et je voyais pas du tout par quel bout le prendre ! ^^
|
|
vendredi 5 mai 2006 à 11:47:51 |
Re : E-commerce et n° de commande

spyro666
|
Voilà ce que ça donne : <?php $chaine = "AA999999"; $debut1 = ord(substr($chaine,0,1)); $debut2 = ord(substr($chaine,1,1)); if(substr($chaine,2)+1 > 999999) { $debut2 ++; if($debut2 > 90) { $debut2 = 65; $debut1 ++; } $chaine = chr($debut1).chr($debut2)."000000"; }else { $chaine = substr($chaine,2); $chaine ++; $chaine = chr($debut1).chr($debut2).sprintf("%06d",$chaine); } echo $chaine; ?> Ca fonctionne jusqu'a 67M de commandes, je pense que ça devrait suffir pour le premier mois ^^' Sinon je peux encore étendre le nombre de facture d'un facteur 26 Spyro666 contre le 555
|
|
vendredi 5 mai 2006 à 11:54:24 |
Re : E-commerce et n° de commande

murrigane
|
Oh Lord, Oh my God !
J'pige rien ...
|
|
vendredi 5 mai 2006 à 12:03:55 |
Re : E-commerce et n° de commande

spyro666
|
Réponse acceptée !
Oups, j'ai oublier de commenter ^^'
Bon je t'explique :
//-----------------------
$chaine = "AA999999";//ceci est une attribution de variable fait au bol.Tu peux très bien aussi affecter une valeur que tu a pris depuis une base MySQL.
//----------------------D'abord j'extrait le code ASCII des deux lettre du début pour pouvoir les "incrémenter" si il le faut $debut1 = ord(substr($chaine,0,1)); $debut2 = ord(substr($chaine,1,1)); //----------------------Je teste si la section xxxxxx + 1 est plus grande que 999999
if(substr($chaine,2)+1 > 999999) { //-----------c'est le cas donc j' "incremente" ma lettre $debut2 ++;
//-----------Je teste la valeur de mon code ASCII if($debut2 > 90) { //--------Plus grand que 90 donc on a passe Z $debut2 = 65; //On attribue la valeur de A $debut1 ++; //On incrémente la lettre suivante } //-----------On refait la chaine du numéro de commande $chaine = chr($debut1).chr($debut2)."000000"; }else { //-----------Sinon on se content d'incrémenter le chiffre de fin $chaine = substr($chaine,2); $chaine ++; $chaine = chr($debut1).chr($debut2).sprintf("%06d",$chaine); } //-------------Et on affiche notre numéro de commande echo $chaine;
Spyro666 contre le 555
|
|
vendredi 5 mai 2006 à 12:09:11 |
Re : E-commerce et n° de commande

murrigane
|
Ah oui merci, ca va mieux !  Donc en définitive, en reprennant ce que tu as fait, je n'aurais qu'a récupérer le dernier numéro de commande dans la table mysql et je l'attribut à la variable $chaine qui ensuite est testée : 1- Au niveau des lettres de début 2-au niveau du numéro 000000 Ensuite, si j'ai tout suivi, si la lettre est a Z et que le numero est à 999999, ca me passe le truc en suivant et la prochaine commande aura le numéro : AB000001 J'ai bien tout compris ? Encore merci pour ton code, j'ai mal à la tête c'est normal ?? 
|
|
vendredi 5 mai 2006 à 12:16:29 |
Re : E-commerce et n° de commande

spyro666
|
C'est presque ça. En fait d'abord je teste la valeur XXXXXX pour savoir si je dois ou non incrémenter la lettre, si c'est le cas je le fais et je regarde que le code ascii ainsi obtenu n'est pas plus grand que le code ascii de Z (soit 90). Si il est plus grand j'incrémente la 2e lettre et je définit le code ascii de la première à 65 (soit la valeur de A).
Donc si le numéro précédent est AA999999 le suivant sera AB000001, si le numéro est AZ999999 le suivant est BA000000.
Spyro666 contre le 555
|
|
Cette discussion est classée dans : commande, caractères, numéros, commerce, boutique
Répondre à ce message
Sujets en rapport avec ce message
Principe d'une boutique en ligne en PHP ??? [ par Zou ]
Je suis actuellement étudiant, et je dois dans le cadre de mes études mettre en place une sorte de boutique en ligne, une sorte de caddie virtuel quoi
Limite de caractères?? [ par JosueClement ]
Lorsque on utilise un formulaire en HTML, y a-t-il une limite d'envoi de caractères Merci d'avance...Josué Clémentjosue-clement@bluewin.ch
Php et l'evois de mail [ par karushi ]
Bonjour a tous et tout mes voeux pour cette nouvelle année.J' ai un petit problème...J'ai trouvé un script du genre e-commerce, je l'ai modifié et ada
menu et chaines de caractères [ par ayor ]
bien le bonjour à tous, je voulais juste poser 2 petites questions : - tout d'abord, sous phpmyadmin, est-il possible de créer des champs de text
nombre de caractères dans un enregistrement [ par desrimaisd ]
bonjour a tous,je voudrais avoir un petit renseignement, c'est tout bete je pense mais je sais pas du tout:combien de caractères peut on insérer dans
mkdir et droits [ par elanspeech ]
salut, dans ma page php, je fais la commande suivante : mkdir ("rep/", 0777); le repertoire est bien cree mais pas avec les bons droits.... j'obtiens
quel hebergeur pour php commande mail() ?? [ par jymick ]
Qui pourrait me renseigner des herbergeurs gratuits acceptant la fonction php commande mail() ? MerciJymick
La commande FOREIGN KEY dans EasyPHP. [ par BRAUKRIS ]
KrisLa commande FOREIGN KEY existe-elle sous la base de donnée EasyPHP?Si non, comment gérer les contrainte d'intégrité referencielle?MERCI D'avance..
2 actions pour 1 socket [ par pouet89 ]
J'aimerai donner une deuxieme commande à mon script lorsque le socket est ouvert, et que j'envoie les premieres donnéesVoici le script, il s'agit de s
extraire chaîne caractères [ par eax ]
salutj'ai un petit pb de traitement de chaines de caractères :j'ai une variable avec du contenu dedans (je ne sais pas ce qu'il y a exactement dedans
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
RE : GOOGLE MAPRE : GOOGLE MAP par inwebo
Cliquez pour lire la suite par inwebo GOOGLE MAPGOOGLE MAP par fatmanajjar
Cliquez pour lire la suite par fatmanajjar
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|