[PHP-SQL] Numero unique !
winco07
Messages postés
124
Statut
Membre
-
okuni Messages postés 1325 Statut Membre -
okuni Messages postés 1325 Statut Membre -
Bonjour,
Sur un site développé en php avec une base de données mysql, je permet a un membre de pouvoir saisir une commande. Le module fonctionne bien a une exception : Le numéro de commande.
Celui-ci doit être unique, grâce a une requête sql je vais cherché dans ma base de données la dernier numéro de commande enregistré et j'ajoute 1. Mais il arrive parfois que 2 commandes puisses avoir le même numéro et cela est très gênant. Existe-t-il un moyen de contrôler ou de trouver un numéro de commande unique ?
Le code permettant de trouver mon numéro de commande :
Meric de votre aide
Sur un site développé en php avec une base de données mysql, je permet a un membre de pouvoir saisir une commande. Le module fonctionne bien a une exception : Le numéro de commande.
Celui-ci doit être unique, grâce a une requête sql je vais cherché dans ma base de données la dernier numéro de commande enregistré et j'ajoute 1. Mais il arrive parfois que 2 commandes puisses avoir le même numéro et cela est très gênant. Existe-t-il un moyen de contrôler ou de trouver un numéro de commande unique ?
Le code permettant de trouver mon numéro de commande :
$test=DbQuery("SELECT max(numCommande) FROM TuxnetstatutCommande");
$tabtest = mysql_fetch_array($test);
$numCmd=$tabtest[0]+1;
Meric de votre aide
3 réponses
-
tu utilise l'auto incrémente que tu mes sur le champ numCommande.
Tu ne devras alors plus t'occuper de ce numéro (plus faire ce que tu fais) car à chaque ajout dans ta table, sql va automatiquement ajouter 1.
grâce à cela, chaque numéro de commande sera différent.
lors de l'ajout de numCommande dans ta table, rajoute ceci dans ton code sql'numCommande' int(11) NOT NULL AUTO_INCREMENT,
en conclusion :CREATE TABLE 'ta table' ( 'numCommande' int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY ('id'), ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
voila en gros a quoi ressemble ta table.
la dernière ligne, c'est toi qui voit, ici j'ai simplement copier les données d'une de mes tables. -
Merci de ta réponse.
Dans ma table j'ai déjà un champs en auto-incrément mais je n'arrive plus a me souvenir pourquoi je n'utilise pas ce chmaps, il posait problème mais je ne me souviens plus la raison. C'est pour ca que j'avais créé un champs spécifique -
ha, il serait bon de savoir quel était le problème.
c'est le seul intérêt de l'auto-incrément, c'est de créer des données unique, et donc facilement identifiable.
L'amour, c'est comme les spaghettis; quand c'est mou, c'est cuit. (proverbe belge)