PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 31-05-2010 00:09:17

orell1
Membre
Inscription : 31-05-2010
Messages : 3

NUMEROTATION AUTOMATIQUE ALEATOIRE

Bonjour à tous,

je voulais savoir si à tout hasard quelqu'un aurait la solution à mon problème...

Voilà je suis actuellement en train de créer un formulaire de saisi en ligne en php avec divers champs qui seront compléter par les internautes.
Ce que je cherche à faire c'est attribuer un numéro de saisi automatique et aléatoire à chaque nouvelle saisi....

Comment faire?

J'ai paramétré dreamweaver avec ma bdd sql...

Quelqu'un a t'il une solution?

Merci par avance pour votre aide!

Cdl!

Hors ligne

#2 31-05-2010 03:42:56

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : NUMEROTATION AUTOMATIQUE ALEATOIRE

tu a bien un type autoincrement dans un table mysql, mais ce n'est pas si aléatoire que ca mais toujours diffèrent wink

a++

Hors ligne

#3 31-05-2010 08:33:14

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : NUMEROTATION AUTOMATIQUE ALEATOIRE

Salut,

La solution proposée par Pierrot est la plus simple.

Si tu veux plus "aléatoire", il te faut :
- faire un random pour la création d'un entier
- faire une vérification que le résultat du random n'existe pas déjà dans ta base
- insérer cette valeur dans ton INSERT / UPDATE


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

#4 31-05-2010 09:22:59

orell1
Membre
Inscription : 31-05-2010
Messages : 3

Re : NUMEROTATION AUTOMATIQUE ALEATOIRE

Bonjour,

tout d'abord un Grand merci pour vos réponses rapides!
Effectivement j'aurai pu utiliser le autoincrement de mon sql, problème il alimente déjà mon champs "id" qui possède une clé primaire (`id` int(11) NOT NULL auto_increment,)... donc lorsque je veux ajouter dans ma table un champs "num_dossier" avec un autoincrement j'ai un message d'erreur qui me dit que le autoincrement doit être accompagné d'une clé.... du coup j'ai ajouter le champs de cete façon: `num_dossier` int(11) NOT NULL,

Dans ce cas je pense que je dois utiliser la solution de Alnoss... Problème je n'ai jamais utilisé cette fonction... dreamweaver la propose ?

VRAIMENT MERCI POUR VOTRE AIDE!!!!

Cordialement.

Hors ligne

#5 31-05-2010 11:57:29

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : NUMEROTATION AUTOMATIQUE ALEATOIRE

Dreamweaver n'est qu'un éditeur donc il ne propose rien du tout !!! recherche du coté du langage de prog donc le PHP !!!

Plus d'info ici !!


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

#6 31-05-2010 12:17:53

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : NUMEROTATION AUTOMATIQUE ALEATOIRE

Saluton,
Je te conseille de déclarer ta colonne en UNIQUE, car au moment de l'INSERT, rien ne garantit l'absence du numéro dans la table. Il a pu être inséré par une autre transaction entre la vérification et l'INSERT.
Sauf à gérer un verrou sur la table, ce qui n'est pas simple du tout, il ne sert à rien de tester la présence du numéro avant de l'insérer, il vaut mieux déclarer la colonne UNIQUE et vérifier que l'insertion est acceptée ou changer le random jusqu'à ce que l'INSERT soit acceptée.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#7 31-05-2010 13:00:00

orell1
Membre
Inscription : 31-05-2010
Messages : 3

Re : NUMEROTATION AUTOMATIQUE ALEATOIRE

Merci.

Je vais tester tout ça..

Cordialement.

Hors ligne

#8 31-05-2010 19:44:24

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : NUMEROTATION AUTOMATIQUE ALEATOIRE

avec un triggers wink
c'est la solution la plus simple wink

Tu met dans numéro de dossier la même valeur que dans id wink

mais je ne vois pas l'intérêt, autant utiliser l'ID comme numéro de dossier wink

a++

Hors ligne

Pied de page des forums