Bonsoir a tous,

Je cale sur un morceau de code pourtant simple.
Voila ce que je cherche a faire:

1- je génère un code aléatoire de 2 lettres et 3 chiffres (ex:ER457)
2- je vérifie dans la base si celui ci existe
3- si ce code existe je repasse à l'étape 1
4- si ce code n'est pas dans la base ==> je fais mon insert !

Voici un bout de mon code pour mieux comprendre:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
 
/// on genere un code d'adherent aleatoire de 2 lettres
		$chaine = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
		//nombre de caractères dans le mot de passe
		$nb_caract = 2;
 
		$gen = "";
		//on fait une boucle
		for($u = 1; $u <= $nb_caract; $u++) {
		//on compte le nombre de caractères présents dans notre chaine
			$nb = strlen($chaine);
		// on choisie un nombre au hasard entre 0 et le nombre de caractères de la chaine
			$nb = mt_rand(0,($nb-1));
		// on ajoute la lettre a la valeur de $pass
			$gen.=$chaine[$nb];
		}
 
 
		$chaine2 = "0123456789";
		//nombre de caractères dans le mot de passe
		$nb_caract2 = 3;
		// on fait une variable contenant le futur pass
		$gen2 = "";
		//on fait une boucle
		for($u2 = 1; $u2 <= $nb_caract2; $u2++) {
		//on compte le nombre de caractères présents dans notre chaine
			$nb2 = strlen($chaine2);
		// on choisie un nombre au hasard entre 0 et le nombre de caractères de la chaine
			$nb2 = mt_rand(0,($nb2-1));
		// on ajoute la lettre a la valeur de $pass
			$gen2.=$chaine2[$nb2];
		}
 
 
		do{
 
		$num_adherent = $gen.$gen2;
 
 
// on verifie si le code generé est existe deja dans la base
$verif="SELECT num_adherent FROM adherents WHERE num_adherent = '".$num_adherent."'";
		$res = mysql_query($verif);
 
		$verif_num = mysql_num_rows($res);
 
 
		} while($verif_num != 0);
 
 
		// si le code n'est pasdans la bdd, on insert
		$sql = "INSERT INTO adherent (num_adherent, civilite, nom, prenom, sexe, date_naissance, profession, csp, competences, adresse,...............)";
        mysql_query($sql);
Merci.