8792 sujets
dans le cadre d'un petit site de e-commerce, a la création d'un client je souhaiterais dans la base client un id composé de 6 chiffre se qui permetré ensuite de le communiqué au client et au service de traitement des commandes.
un numero entre 000000 et 999999 qui commence a 000001 serait bien car comme dit plus haut c'est un numero qui sera a etre communiqué au client est donc des numero comme : 4 ou 3363 ne sont pas adapté
merci
un numero entre 000000 et 999999 qui commence a 000001 serait bien car comme dit plus haut c'est un numero qui sera a etre communiqué au client est donc des numero comme : 4 ou 3363 ne sont pas adapté
merci
Qu'est-ce qui t'empêche dans ce cas d'utiliser un entier tout à fait banal dans ta base de données, et de communiquer au client le même entier, mais avec les zéros ajoutés en préfixe ?
Il est - il me semble - assez facile d'ajouter le nombre de zéros nécessaires au début de ton id quand tu le récupères de ta base de données, et d'enlever tous les zéros au début quand le client te le donne.
Il est - il me semble - assez facile d'ajouter le nombre de zéros nécessaires au début de ton id quand tu le récupères de ta base de données, et d'enlever tous les zéros au début quand le client te le donne.
Sinon, tu peux ajouter/enlever les zéros en php. A mon avis cette solution est plus robuste car les tris en SQL sont facilités lorsque tu manipules des entiers normaux.
Pour les ajouter, regarde du côté de la fonction strpad.
Pour les enlever, il suffit d'utiliser une petite expression régulière :
$id = preg_replace("#^0+#", "", $strId);
ET autrement en tant que client je ne vois pas quel problème ça poserait dêtre le client n° 123 plutôt que le client n°000123. Je crois même que j'aurais tendance à oublier ces zéros en donnant mon numéro.
Pour les ajouter, regarde du côté de la fonction strpad.
Pour les enlever, il suffit d'utiliser une petite expression régulière :
$id = preg_replace("#^0+#", "", $strId);
ET autrement en tant que client je ne vois pas quel problème ça poserait dêtre le client n° 123 plutôt que le client n°000123. Je crois même que j'aurais tendance à oublier ces zéros en donnant mon numéro.
b2energie a écrit :A mon avis, cette ligne ne fait absolument rien.(string) $numclient;

Je pense que tu voulais écrire :
$numclient = (string) $numclient;
<edit>Pourras-tu faire marquer tes sujets comme résolus si c'est le cas ?

Modifié par Julien Royer (02 Mar 2007 - 01:12)