begin process at 2012 05 30 19:08:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

ID Unique


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

ID Unique

lundi 26 juin 2006 à 20:15:23 | ID Unique

fredgre

Bonjour,
j'ai un problème simple qui consiste à créer un ID unique en variable de session, j'utilise "uniqid" mais le chiffre généré est trop important (16), car j'utilise ce chiffre comme clé primaire pour identifiant de commande et ma banque me limite à 12 caractères... Si une bonne âme connait une solution pour que ce numéro reste unique mais en plus court... ça m'aiderait grandement,
Merci d'avance pour les courageux...
mardi 27 juin 2006 à 10:16:47 | Re : ID Unique

malalam

Administrateur CodeS-SourceS
Hello,

jette un oeil à microtime ()
mardi 27 juin 2006 à 12:10:21 | Re : ID Unique

coucou747

Administrateur CodeS-SourceS
Salut,

? plus courts que quoi ?

un id de session, c'est md5(microtime()) mais ça va faire trop de caractères... si tu prends un substr et que tu mémorises les autres id, alors pas de risques...


In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
mardi 27 juin 2006 à 12:38:06 | Re : ID Unique

fredgre

Merci pour ces réponses, mais je n'arrive pas à m'en dépatouiller avec microtime(), comment obtenir un chiffre avec une longueur constante de 12 caractères ? Pour répondre à coucou747, effectivement je suis ammené à mémoriser cet ID, mais j'aurais aimé économiser une requête vers la base (et le traitement d'erreur associé) pour valider que l'ID est bien unique...
mardi 27 juin 2006 à 12:48:02 | Re : ID Unique

malalam

Administrateur CodeS-SourceS

Si tu passes par une base, pourquoi tu ne crées pas un autoincrement qui commence à 10000...?

mardi 27 juin 2006 à 12:50:00 | Re : ID Unique

FhX

bah substr() pour couper les chaines...
mardi 27 juin 2006 à 12:53:05 | Re : ID Unique

coucou747

Administrateur CodeS-SourceS
Salut,

FhX, ouais, mais là, la notion d'unicitée est perdue... déjà que coté md5 c'est pas ça....


In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
mardi 27 juin 2006 à 14:04:53 | Re : ID Unique

fredgre

Merci à tous de votre intéret pour mon petit cas,
pour répondre à malalam, je ne veux pas utiliser l'autoincrement car je veux que ce nombre reste une variable temporaire jusqu'à la fin du processus et seulement là je transformerai cette variable en ID unique, ça m'éviteras de créer un enregistrement pour chaque visite...
Enfin pour la suggestion de FhX, j'y ai bien pensé, mais mon niveau en math laisse à désirer et j'ai effectivement des doutes sur l'unicité d'un chiffre basé sur date puis tronqué...
mardi 27 juin 2006 à 14:25:38 | Re : ID Unique

malalam

Administrateur CodeS-SourceS

Bah, t'as guère le choix. Faut stocker. Comment tu sauras que c'est unique avec des sessions, si tu n'enregistres pas au fur et à mesure ?
Je m'explique : A vient, fait son bin's, tu lui crées un id. B vient, fait son bin's, tu lui crées un id. Comment tu vas comparer A_id et B_id ? En plus, une fois insérés dans ta base, tu n'auras plus la possibilité de savoir si le nouvel id créé à jour + x est présent ou non dans ta base, à moins que ce ne soit un id autoincrement, donc unique, stocké en base.
uniqid était très bien pour ça, en effet. Au passage, chez moi c'est 13 caractères, pas 16. Mais bon, on s'en fout, ça fait trop de ttes façons.

Bref...à mon avis, tu devrais penser à ce qu'a dit FhX :
<?php
echo substr (uniqid (), 0, 12);
?>
si tu supprimes le dernier, il y a à priori peu de chance que tu tombes sur des doublons, à mons que les enregistrements soient vraipment très très rapprochés. ET encore, tu peux stocker ça dans un fichier que tu effaces tous les jours, pour être sûr.

mardi 27 juin 2006 à 16:02:06 | Re : ID Unique

fredgre

Bon... après plusieurs test, impossible de faire fonctionner uniqid sans paramètre : uniqid();
Par contre ça semble bien fonctionner comme ça : uniqid('',true);
Je voulais savoir si malalam avait testé la commande proposée, car chez moi, ça marche poa... problème de plateforme ? ou de version ? suis sur PC - Windows XP avec EasyPHP 1.8
En tout cas un grand merci à tous !!!

1 2

Cette discussion est classée dans : chiffre, utilise, id, unique


Répondre à ce message

Sujets en rapport avec ce message

Somme, valeur unique depuis requête [ par ltab ] Bonjour,Je cherche en vain depuis des lustres à faire l'addition de champs provenant d'une requête$sql = "select appartement FROM chambres WHERE id = Session_id [ par Tassledar ] Voila mon problémej'utilise les variable de session pour me logger sur mon sitele probleme c que pour entrer mon login et mdp j'utilise une fenetre en array_unique [ par coockiesch ] Bonjour!J'ai un tableau à plusieurs dimensions.. Il s'agit d'informations sur des photos:dossier, id de la photo. J'aimerais enlever les doublons mais Requete MySQL [ par flopad ] Bonjour,comment est ce que je dois faire pour qu'après avoir écrit le numéro unique dans la table id_unique, j'ajoute le rédacteur et en même temps je Donner un unique id au visiteur [ par bakayan9 ] Bonjour,je suis en train de réaliser une site web de statistiques et je veux savoir est qu'il y'a une fonction PHP qui permet de donner une unique ID Utilisation GridView ASP [ par helvetica ] Bonjour, Je débute dans le monde du développement web ASP.NET. J'ai créé un page aspx dans laquelle j'utilise une GridView en mode select avec 2 ch $_SESSION a un comportement bizarre [ par CyberP ] Bonjour,Mon site Internet comporte une partie administration qui utilise les sessions pour vérifier que quelqu'un est authentifié.Lorsqu'on s'identifi [Aide] Unique id [ par Denzel68 ] Bonjour voila je besoin d'un système d'id unique pour certaine pages de mon site je un petit système mais je voudrais savoirs si l'id donnez sera bien vos besoin svp [ par falah19992 ] bonjour, svp, est ce que l code suivant est logique puisqu'il ya 2 requêtes à éxecuter, la deuxième a besoin du resultat du deuxieme, lorsque j fais d Problème pour colorer les lignes de mon tableau en fonction du resultat d'une colonne [ par bibou2811 ] mon code: $result= mysql_query("SELECT * from resultats"); /*requette*/ echo""; for($i=0;$i$titre"; } echo""; while($ligne=mysql_f


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,250 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales