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

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


Khal3d
WRInaute impliqué
WRInaute impliqué
 
Messages: 971
Inscription: 3 Déc 2004

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

Message le Ven Avr 29, 2005 18:35

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

totoro
WRInaute impliqué
WRInaute impliqué
 
Messages: 925
Inscription: 28 Juil 2004

Message le Ven Avr 29, 2005 18:42

int rand ( [int min, int max] )

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

exemple :
echo rand(2, 1234542);

tigrou
WRInaute discret
WRInaute discret
 
Messages: 83
Inscription: 29 Fév 2004

Message le Ven Avr 29, 2005 22:58

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...


Khal3d
WRInaute impliqué
WRInaute impliqué
 
Messages: 971
Inscription: 3 Déc 2004

Message le Mar Mai 17, 2005 17:28

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


MarvinLeRouge
WRInaute impliqué
WRInaute impliqué
 
Messages: 526
Inscription: 1 Sep 2004

Message le Mar Mai 17, 2005 18:22

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


Khal3d
WRInaute impliqué
WRInaute impliqué
 
Messages: 971
Inscription: 3 Déc 2004

Message le Mar Mai 17, 2005 18:38

MarvinLeRouge a écrit: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


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité