génération d'ID aléatoire en PHP ou MySQL

  • Auteur de la discussion Auteur de la discussion Khal3d
  • Date de début Date de début
WRInaute impliqué
bon, je suis un debutant au Php...j'aimerais bien savoir comment faire le truc de random id. je veux qu'a chaque enregistrement, un truc php lui attribue un id, 1er enregistrement 12547, deuxieme enregistrement, 32654 etc...

merci pour votre aide
 
WRInaute impliqué
int rand ( [int min, int max] )

Renvoie un nombre aléatoire compris entre min et max.

exemple :
echo rand(2, 1234542);
 
WRInaute discret
je crois qu'il parlait plus des id auto générer dans une table de base de données... Plus d'info dans la documentation de MySQL ou autre SGBD et de PHP...
 
WRInaute impliqué
resalut les gars

on a ma recomandé de faire un truc: id+time . comme ça les j'aurais un id aleatoire et unique pour chaque enreistrement. la méthode random prends de temps pour tcheker tout les enregistrements pour vérifier si le id exsite po deja.

voila le script que j'ai mis, PLZ DITES MOI CE QUE VOUS PENSEZ, ET AUSSI SIA DES CORRECTIONS A FAIRE:


$sql = "SELECT id FROM infos_tbl WHERE id LIKE '$id'";
$res = mysql_query($sql);
$i = 1;
while(($row = mysql_fetch_array($res)) && !$id){
if(($row["id"] != $i) && !$id){
$id = $i;
}
$i++;
}

// on écrit la requête sql
$sql = "INSERT INTO infos_tbl(id, nom, prenom,email, icq, titre, url) VALUES('".$id."".time()."','$nom','$prenom','$email','$icq','$titre','$url')";



Merci
 
WRInaute impliqué
Salut,

1) Si un id est aléatoire, tu ne peux pas garantir qu'il soit unique. Et si tu crées un id aléatoire et que tu vérifies derrière qu'il n'existe pas déjà, tu perds du temps
2) Pour créer des id uniques dans une table mysql, il suffit de mettre la colonne en question en id auto increment et ça le fait tout seul
3) Et si tu utilises cette méthode, plus besoin de rajouter l'heure
 
WRInaute impliqué
MarvinLeRouge a dit:
Salut,

1) Si un id est aléatoire, tu ne peux pas garantir qu'il soit unique. Et si tu crées un id aléatoire et que tu vérifies derrière qu'il n'existe pas déjà, tu perds du temps
2) Pour créer des id uniques dans une table mysql, il suffit de mettre la colonne en question en id auto increment et ça le fait tout seul
3) Et si tu utilises cette méthode, plus besoin de rajouter l'heure

la méthode que j'ai utiliser, y un % de 1/10000000000 que le id se repete, c'est grace à la commande time, le id actuellement est sous cette forme: id+time. id=(1) time=(chiffre de 9 nombre). si d'ici je sais pas combien de temps , le id passera en chiffre 2, ensuite en 3 etc...

pour l'autoincrement, je peux pas de id genre '1' parcque il sera utilsé pour afficher les infos d'un client, po cool de mettre : ****infos.php?id=1 ....

ouvert à vos remarques. TNX
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut