TUTOS.EU

Trouver la prochaine référence de libre dans une table

Trouver le dernier identifiant de pris dans une table de base de données pour déduire le prochain de libre

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 Copier le code

2