Générateur de clé primaire

Contenu du snippet

Donc voici un petit script dont je me sert pour générer des clées primaires à l'aide d'une chaine de caractère, il calcule le prochain code en fonction du caractère ascii en cours et s'incremente automatiquement en passant à la série supérieure.
Voila si vous avez des questions n'hésitez pas

Source / Exemple :


<?
function calcul_id( $str )
{
$change = true; //booléen permettant de savoir si on arrive à la fin d'une série
$quit = false; // on quit :)
$size = strlen($str)-1; // taille de la chaine de caractere
while($quit == false) // boucle infinie
{
	if($change == true)
	{
		switch(ord($str[$size])) // compare les codes ascii
		{
	    	case 90: // ' Z '
	        	$str[$size] = chr(65);
	        	$change = true;
	        	break;
			case 57: // ' 9 '
		    	$str[$size] = chr(48);
		    	$change = true;
		    	break;
			default: // par defaut on incremente et on quit
			    $str[$size] = chr(ord($str[$size])+1);
			    $change = false;
			    break;
		}
	}else{
	    $str[$size] = chr(ord($str[$size]));
 		$quit = true;
	}
	$size--;
}
return $str;
}
if (isset($_POST['code']))
{
// exemple d'utilisarion
echo "code passé en paramètre :<b>".$_POST['code']."</b><br>";

	$_POST['code']=calcul_id($_POST['code']);
	echo "Code suivant :<b> ".$_POST['code']."</b></br>";
}

?>
<html>
	<head>
	</head>
	<body>
	<form action="" method="post" >
	<? if(!isset($_POST['code']))
	{
		echo "<b>Entrer le code de référence</b><br>";
		echo "<input type=\"text\" name=\"code\" value=\"";
		if(isset($_POST['code']))echo $_POST['code'];echo "\">";
	}else{
		echo "<input type=\"hidden\" name=\"code\" value=\"";
		if(isset($_POST['code']))echo $_POST['code'];echo "\">";
	}
	?>
	<input type="submit" value="générer code">

	</form>
	</body>
</html>

Conclusion :


Informez moi sur les bugs svp :)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.