Identifiant unique
Mixxx
-
le hollandais volant Messages postés 4998 Date d'inscription Statut Membre Dernière intervention -
le hollandais volant Messages postés 4998 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aurai besoin de vos lumières :P
Je souhaiterais pour chaque entrée dans ma table créer un identifiant unique généré aléatoirement.
Je m'en servirais pour mettre à la fin des adresses.
Exemple : www.monsite.com/fiche.php?id=XXXXXXXX
Il me faudrait 8 caractères, mais il ne faudrait pas qu'une entrée ai le même identifiant (il va y en avoir énormément).
Je ne souhaite pas utiliser un id en auto incrément. Il faut que l'identifiant soit composé de 8 caractères. Des lettres de préférence.
Quelqu'un sait comment je peux faire ?
Si je peux éviter une requête pour vérifier si l'identifiant n'existe pas déjà ça serait encore mieux. Je ne souhaite pas effectuer trop de requête.
Il me semble qu'il existe une fonction php pour ça mais je n'en suis plus très sur.
Merci d'avance pour votre aide !
J'aurai besoin de vos lumières :P
Je souhaiterais pour chaque entrée dans ma table créer un identifiant unique généré aléatoirement.
Je m'en servirais pour mettre à la fin des adresses.
Exemple : www.monsite.com/fiche.php?id=XXXXXXXX
Il me faudrait 8 caractères, mais il ne faudrait pas qu'une entrée ai le même identifiant (il va y en avoir énormément).
Je ne souhaite pas utiliser un id en auto incrément. Il faut que l'identifiant soit composé de 8 caractères. Des lettres de préférence.
Quelqu'un sait comment je peux faire ?
Si je peux éviter une requête pour vérifier si l'identifiant n'existe pas déjà ça serait encore mieux. Je ne souhaite pas effectuer trop de requête.
Il me semble qu'il existe une fonction php pour ça mais je n'en suis plus très sur.
Merci d'avance pour votre aide !
1 réponse
Salut !
Ben si tu commences avec un ID qui vaut 00000001, tu peux l'incrémenter, ça fera 2. Et ensuite compléter avec des zéros jusqu'à obtenir 8 chiffres au total.
Le fonction qu'il te faut, c'est STR_PAD :
$id = str_pad($id++, 8, "0", STR_PAD_LEFT);
=> Le nouvel ID sera l'incrémentation du précédent ($id++), il fera 8 caractères (8) et s'il manquent des caractères pour arriver à 8, il seront complétés avec des zéros ("0") par la gauche (STR_PAD_LEFT).
Ben si tu commences avec un ID qui vaut 00000001, tu peux l'incrémenter, ça fera 2. Et ensuite compléter avec des zéros jusqu'à obtenir 8 chiffres au total.
Le fonction qu'il te faut, c'est STR_PAD :
$id = str_pad($id++, 8, "0", STR_PAD_LEFT);
=> Le nouvel ID sera l'incrémentation du précédent ($id++), il fera 8 caractères (8) et s'il manquent des caractères pour arriver à 8, il seront complétés avec des zéros ("0") par la gauche (STR_PAD_LEFT).