[PHP-SQL] Numero unique !

Fermé
winco07 Messages postés 117 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 5 octobre 2012 - 2 juin 2010 à 10:29
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 - 2 juin 2010 à 20:22
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 :

  $test=DbQuery("SELECT max(numCommande) FROM TuxnetstatutCommande");
$tabtest = mysql_fetch_array($test);
$numCmd=$tabtest[0]+1;


Meric de votre aide

A voir également:

3 réponses

okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
2 juin 2010 à 10:46
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.
0
winco07 Messages postés 117 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 5 octobre 2012
2 juin 2010 à 14:40
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
0
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
Modifié par okuni le 2/06/2010 à 20:22
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)
0