Calcul d'incrémentation

cs_vince2229 Messages postés 14 Date d'inscription jeudi 18 août 2005 Statut Membre Dernière intervention 25 juin 2009 - 7 avril 2006 à 14:45
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 10 avril 2006 à 10:09
Bonjour tout le monde,



Voilà j'essaie de trouver comment calculer un identifiant unique sachant que l'identifiant est formé de telle façon :

profil(ex : T1) + nombre à 3 chiffres + 291.



En fait, mon calcul voudrai sélectionner tous les identifiant commençant par le profil choisi dans le formulaire.

Je voudrai ensuite récupérer le plus élevé, extraitre les 3 chiffres
après le profil et lui rajouter 1 pour créer un nouvel identifant.

En gros ça donnerait :

T1152291

T1153291.



Si quelqu'un a une idée, ce serai génial, car là, je m'y perd complètement.



Merci.



Vince

7 réponses

Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
7 avril 2006 à 14:52
bonjour,

ne serais pas plus simple en mettant un separateur entre chaque ?

du genre:

T1-152-291

T1-153-291

apres il suffit d'utiliser la fonction explode

ou sinon si tu veux garder tes clefs unique comme avant et bien il faut utiliser la fonction substr substr

et la avec ces clefs
$key="T1152291";

il faut faire

$nombre_a_trois_chiffre=substr($key,2,3);

et apres tu en fais ce que tu veux!



Merci d'accepter si la réponse te convient
-------------------------------------------------------------------------------------------------------

Il vaut mieux poser une question et passer pour bête que le rester
toute sa vie
0
cs_vince2229 Messages postés 14 Date d'inscription jeudi 18 août 2005 Statut Membre Dernière intervention 25 juin 2009
7 avril 2006 à 15:02
Pour récupérer la valeur des 3 chifres, ton message m'aide bien.

Mais comment faire une sélection du l'identifiant maximum començant par le profil saisi dans le formulaire??



par exemple :

dans ma base j'ai :

- T1152291

- T1153291

- T1154291

- T4005291



Dans mon formulaire, j'ai sélectionné T1 donc je voudrai pouvoir récupérer celui qui est le plus grand, c'est à dire : T1154291



Comme ça après j'utilise substr pour effectuer mon incrémentation.



Le problème est de récupérer l'identifiant le plus élevé commençant par le profil sélectionné



Merci
0
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
7 avril 2006 à 15:27
Tu vas toutes les chercher
tu enregistres dans un tableau juste ces 3 chiffres à la fois
et ensuite tu fais max($ton_tableau) et tu récupère la plus grande valeur
Tu ajoutes 1 et le tour est joué

, EssayezTestez avant de Poser une question !
http://www.lookstrike.com
0
raven44 Messages postés 315 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 21 mars 2011 1
7 avril 2006 à 16:09
Hello,

Je suis entièrement d'accord avec GRenard !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
8 avril 2006 à 15:53
Salut,

mettons que t'ais une table avec un seul champ de type varchar nommé "monchamp" contenant par exemple :

T13335454
T12225224
T11111111

T1 étant le motif ensuite ta suite de chiffres.

Tu veux récupérer le maximum de ce qu'il y a après T1 ça donne ça en SQL (y'a surement une autre méthode mais bon ça, ça fonctionne, et vu que je suis pas un pro en SQL je me contenterais de ça ^^)

SELECT MAX(RIGHT(monchamp,CHAR_LENGTH(monchamp)-2)) FROM test

en gros ça va te retourner 3335454 vu que c'est le nombre maxi.

Ensuite soit on prend les trois premiers chiffres via mysql ce qui va faire une requête à rallonge (c'est pas forcément utile) soit tu passes par PHP avec la fonction substr par exemple.

a +

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
cs_vince2229 Messages postés 14 Date d'inscription jeudi 18 août 2005 Statut Membre Dernière intervention 25 juin 2009
10 avril 2006 à 09:04
salut,



ton idée est bonne si les 2 premiers caractères ne changent pas.



Merci quand même
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
10 avril 2006 à 10:09
Bah ton identifiant à chercher tu le connais non ? tu modifies la requête en conséquence :-)

Si t'as trois caractères à gérer ça fera -3 ^^

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
Rejoignez-nous