Maison >développement back-end >Problème PHP >Comment générer des numéros de commande uniques en php

Comment générer des numéros de commande uniques en php

藏色散人
藏色散人original
2020-11-17 09:27:464854parcourir

Comment générer des numéros de commande uniques en PHP : 1. Utilisez la valeur de la clé primaire de la base de données pour générer un numéro de commande auto-croissant ; 2. Implémentez un numéro de commande de « date + numéro auto-croissant » ; Générer des numéros de commande aléatoires ; 4. Implémenter le numéro de commande « format lettre + chaîne numérique ».

Comment générer des numéros de commande uniques en php

Recommandé : "Tutoriel vidéo PHP"

Résumé des méthodes pour générer des numéros de commande uniques en PHP

//商品编号生成
(YmdHi)拼接上兑换表生成的Id
//订单号的生成
(YmdHi)拼接上订单表生成的Id
echo date('Ymd') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT);

Plusieurs méthodes courantes de numéro de commande :

1 Utilisez la valeur de la clé primaire de la base de données pour générer un numéro de commande auto-croissant (le numéro de commande est. la clé primaire de la table de données )

2. Date + numéro de commande avec des chiffres auto-croissants (par exemple : 2012040110235662)

3. Générer un numéro de commande aléatoire (65865325365966)

4. Lettres + caractères numériques Type de chaîne, les lettres ont des significations particulières, C02356652

Principes de conception du numéro de commande : Conception à la demande

Un code de fonctionnalité unique utilisé pour récupérer les détails de la commande, vous pouvez utiliser le numéro de commande pour récupérer la date de commande, la catégorie de produit, la couleur, la taille (ou le style), l'entrepôt et d'autres informations. Le numéro de commande contenant trop d'informations est un peu "superflu" ! Concevez-le comme vous le souhaitez !

Règles d'expérience utilisateur pour la conception des numéros de commande :

1 Il n'y a pas de duplication des numéros de commande

2. service, il est préférable de " Avec le numéro de commande au format " date + numéro auto-incrémenté ", le service client saura en un coup d'œil si la commande est dans la période de garantie de retour ;

3. Le La longueur du numéro de commande doit être aussi courte que possible (moins de 10 chiffres), ce qui est pratique pour les utilisateurs, en particulier lors de réclamations par téléphone. Lors de l'utilisation de numéros longs, la probabilité de rapport d'erreurs est élevée, ce qui affecte l'efficacité du service client. ;

4. Essayez de conserver le numéro de commande en type numérique (entier pur). Dans la requête d'index de commande de base de données, l'efficacité d'indexation et de récupération des données du type numérique entier long est beaucoup plus élevée que le type texte, alors essayez. pour éviter le "type chaîne lettre + chiffre" !

Il est souvent nécessaire de générer un numéro de commande unique lors de la réalisation de projets de centres commerciaux. Voici un résumé !

Méthode 1 :

return date('Ymd') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT);

Méthode 2 : En cours d'utilisation. . .

return date('Ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8);

Méthode 3 : Utilisée auparavant. . .

public function make_order($user_id)
{
return mt_rand(10,99)
. sprintf('%010d',time() - 946656000)
. sprintf('%03d', (float) microtime() * 1000)
. sprintf('%03d', (int) $user_id % 1000);
}

Méthode 4 :

$yCode = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J');
$orderSn = $yCode[intval(date('Y')) - 2011] . strtoupper(dechex(date('m'))) . date('d') . substr(time(), -5) . substr(microtime(), 2, 5) . sprintf('%02d', rand(0, 99));

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn