Bonjour,
je suis confronté à un problème que je ne sais résoudre
j'ai créé une fonction qui s'appelle elle même
le but de ce code est de genérer un id et de verifier si il existe dans le base, mais il me renvoie un résultat null et je ne comprend pas pourquoi

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
function verifidcompte($idte)
{
 
	include('../fun/conngen.php');
		$req = "SELECT id_compte FROM compte WHERE id_compte=".$idte;
		$reslist = mysqli_query($co_base, $req) or die(mysqli_error($co_base));
		$nbrows= mysqli_num_rows($reslist);
		return $nbrows;
}
function idcompte()
{
 
		srand((double)microtime()*1000000);
		$id_nb = rand(1, 99);
 
		$dte=date("jmYhis");
		$idte=$dte.$id_nb;
 
 
		$idte=rand(1, 9);  // j'ai dans la base des id de 1 à 8,  en haut c'est mon generateur de code deffinitif, là c'est pour le test
 
 
		$nbrows=verifidcompte($idte);
echo "<br/> nbrows  ".$nbrows." idte ".$idte;
 
 
		if ($nbrows==0) {
			echo "<br/>coucou2  ".$idte."<br/>";
			return $idte;
 
		}else idcompte();
 
 
}
 
$result=idcompte();
echo "<br/>idcompte    ".$result."---".var_dump($result);

ou


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
function idcompte()
{
 
		srand((double)microtime()*1000000);
		$id_nb = rand(1, 99);
 
		$dte=date("jmYhis");
		$idte=$dte.$id_nb;
 
 
		$idte=rand(1, 9);
 
 
		include('../fun/conngen.php');
		$req = "SELECT id_compte FROM compte WHERE id_compte=".$idte;
		$reslist = mysqli_query($co_base, $req) or die(mysqli_error($co_base));
		$nbrows= mysqli_num_rows($reslist);
 
echo "<br/> nbrows  ".$nbrows." idte ".$idte;
 
 
		if ($nbrows==0) {
			echo "<br/>coucou2  ".$idte."<br/>";
			return $idte;
 
		}else idcompte();
 
 
}
 
$result=idcompte();
echo "<br/>idcompte    ".$result."---".var_dump($result);
et j'ai le résultat:
nbrows 1 idte 8
nbrows 1 idte 7
nbrows 1 idte 5
nbrows 1 idte 2
nbrows 1 idte 7
nbrows 1 idte 2
nbrows 0 idte 9
coucou2 9
E:\wamp64\www\gestion2\ins\test.php:39:null
idcompte --- //donc je n'arrive pas à récupérer le $idte

mais si la valeur de îdte tombe directement à 9 , j'y arrive

nbrows 0 idte 9
coucou2 9
E:\wamp64\www\gestion2\ins\test.php:39:int 9
idcompte 9---

là j'en perd mon latin!