Bonjour,

Une nouvelle journée, un nouveau problème :
Je fais une requete SQL dans ma base qui me revoie des chiffres (ex 1, 8 , 5, 3 ....), mon problème et que je voudrais détecter si il y a des tous entre ces chiffres, avec un exemple ca sera surement plus compréhensif :

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
$CodesMoulinsBegin = $bdd->query("SELECT CodeMoulin FROM Moulins WHERE CodeMoulin LIKE '$CodeCommune%'");
foreach($CodesMoulinsBegin as $Code)
{
	$CodeMoulinCommune=substr($Code[CodeMoulin], 4, 8); //on selectionne les caractéres de 4 à 8
	$LastIdMoulinCommune=$CodeMoulinCommune;  //Je fais ce transfert de variable car aprés mon foreach j'utilise la derniére valeur
	$LastIdMoulinCommune=(int)$LastIdMoulinCommune //je transforme mon string en int car sinon ca me retourne 001, 002, ...
	echo "<br>Last:".$LastIdMoulinCommune;    //j'arriche ma valeur pour les debugs 
 
	//j'essaie de détecter les 'trous' entre mes vlaeurs
	if ($LastIdMoulinCommune != $bla)
	{
		echo "<br>Continu".$LastIdMoulinCommune;
	}
	else 
	{
		echo "<br>Non continu".$LastIdMoulinCommune;
	}
	$bla=$CodeMoulinCommune+1;
}
Ce qui me retourne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Last:5
Continu5
Last:1
Continu1
Last:2
Non continu2
Comme on peut le remarquer, 1, 2 et 5 existent, et je voudrais que ça me détecte qu'il manque 3 et 4.
Étant donné que dans ma BDD 5 apparait avant 1 mon if ne fonctionne pas.

Comment pourrais-je faire pour détecter ces nombres ?

Merci par avance.

Cordialement.