Introduction
Vous avez une table SQL dont une colonne contient des références sous forme de chiffres successifs.
Le code ci-dessous permet de trouver le dernier chiffre utilisé pour déduire le prochain.
Le code
<!DOCTYPE html>
<HTML lang="fr">
<HEAD>
<meta charset="utf-8" />
</HEAD>
<BODY>
<div id="bloc_page">
<?php
//Définition des constantes
define("SQLServerName","NomServeurMySQL");
define("sqldbname","NomBaseDeDonnees");
define("sqllogin","LoginSQL");
define("sqlpass","MotDePasseSQL");
$MaConnection = mysql_connect(constant('SQLServerName'),constant('sqllogin'),constant('sqlpass')); //Création de la connexion à la base de données
if ($MaConnection) {
mysql_select_db(constant('sqldbname'), $MaConnection); //Sélection de la base
mysql_query("SET NAMES UTF8"); //On utilise le codage UTF8
//Recherche du dernier numéro utilisé
$sqlrequest = "Select Max(ChampReference) as ChampReference From `".constant('sqldbname')."`.`NomTable`;";
mysql_real_escape_string($sqlrequest, $MaConnection);
if (strlen($sqlrequest) > 0){
$Resultat = mysql_query($sqlrequest, $MaConnection); //Passage d'une requête à la base de données
$num_rows = mysql_num_rows($Resultat); //Récupération du nombre de lignes en réponse
if ($num_rows > 0){ //Si on a des lignes en réponse
while ($MaLigne=mysql_fetch_array($Resultat, MYSQL_ASSOC)){
$ProchaineReferenceLibre = $MaLigne['articleid'];
$ProchaineReferenceLibre++; //Incrément de 1
break;
}
}
else{$ProchaineReferenceLibre = 1;} //Si il n'existait aucun document, le premier à donc le numéro 1
}
echo "Prochaine Reference Libre : ".$ProchaineReferenceLibre."<br />\n";
mysql_free_result($Resultat);
mysql_close($MaConnection);
}
else{
die('Connexion impossible : ' . mysql_error());
}
?>
</div> <!-- div bloc_page -->
</BODY>
</HTML>
Lien vers le fichier : cliquez ici