Bonjour,
Pardon si ma question n'est pas dans le bon forum.
J'ai besoin de générer un identifiant unique alphanumérique stocké en base de données, qui servira ensuite à lier la ligne de la table avec d'autres tables/documents, l'identifiant (ID) seul de la ligne ne suffisant pas, le but étant ensuite (une gageure pour moi ) d'accéder à des documents en utilisant ce token dans l'URL.
Le champ interdit lui-même les doublons. Pour plus de chances de l'unicité, cet identifiant aura 20 caractères.
J'ai trouvé des exemples de code PHP pour le générer. J'ai vu que uniqid() est déconseillé par les intervenants, dans le manuel de php.net (où j'admire souvent le remplacement d'une fonction simple et intégrée en une ligne par des dizaines de lignes pour faire la même chose ), donc j'utiliserai probablement une autre solution.
Je me demande, dans la mesure où ce code sera dans un champ de formulaire et devrait être généré au moment de la validation, ce qui serait le plus simple : créer l'identifiant, tenter l'insertion par un simple INSERT et gérer l'erreur, ou vérifier d'abord par un SELECT si cet identifiant existe, retourner si besoin à la création jusqu'à ce que l'insertion soit possible.
Merci de vos conseils !
Robert
Pardon si ma question n'est pas dans le bon forum.
J'ai besoin de générer un identifiant unique alphanumérique stocké en base de données, qui servira ensuite à lier la ligne de la table avec d'autres tables/documents, l'identifiant (ID) seul de la ligne ne suffisant pas, le but étant ensuite (une gageure pour moi ) d'accéder à des documents en utilisant ce token dans l'URL.
Le champ interdit lui-même les doublons. Pour plus de chances de l'unicité, cet identifiant aura 20 caractères.
J'ai trouvé des exemples de code PHP pour le générer. J'ai vu que uniqid() est déconseillé par les intervenants, dans le manuel de php.net (où j'admire souvent le remplacement d'une fonction simple et intégrée en une ligne par des dizaines de lignes pour faire la même chose ), donc j'utiliserai probablement une autre solution.
Je me demande, dans la mesure où ce code sera dans un champ de formulaire et devrait être généré au moment de la validation, ce qui serait le plus simple : créer l'identifiant, tenter l'insertion par un simple INSERT et gérer l'erreur, ou vérifier d'abord par un SELECT si cet identifiant existe, retourner si besoin à la création jusqu'à ce que l'insertion soit possible.
Merci de vos conseils !
Robert
Commentaire