codification style 1A0001 , 1A0002

Rechercher

codification style 1A0001 , 1A0002

Par fifouta  -  4 reponses  -  Le 04/06/2008 19:08  -  Editer  - 

bonjour, pour mon projet de fin d'étude je suis amenée à developper une application web pour le service help desk. étant novice en programmation php , je recontre quelques difficultés concernant la codification des tickets " l'identifiant d'un incident ou requète qu'envoie l'utilsateur final au service help desk " , la structure du code est la suivante : 1A0000 " 1 pour l'année en cours , A pour le mois et 0000 numéro séquentiel " . 1A0000 premier ticket . 1A0001 deixième ticket. 2A0000 num ticket de l'année suivante . je sollicite votre aide pour programmer cette codification merci d'avance cordialement

 

Réponses apportées à cette discussion

Par Emacs  -  Le 05/06/2008 09:29  -  Haut de page  - 

Salut,

Je t'ai répondu sur PHPScript-fr ;) Je te remets ce que j'ai mis :

Voici comment je verrai la structure de la table des tickets. Avec leur codification foireuse, tu ne pourras pas faire de recherches facilement sur les tickets (par date, par année, par mois, par jour...). Donc pour conserver cette référence obligatoire du ticket, il va falloir aussi que tu crées d'autres champs dans la table qui conserveront la date de création du ticket, un identifiant auto incrémenté pour gérer de manière unique le ticket. Tu aurais donc quelque chose comme ça :

id INTUNSIGNED NOT NULL AUTO INCREMENT PRIMARY KEY, reference CHAR(6) NOT NULL (avec une clé d'index UNIQUE) created_at DATETIME NOT NULL # les autres champs ensuite

Pour savoir quel est le numéro du ticket à l'enregistrement, tu vas devoir compter le nombre d'enregistrements présents dans la table pour l'année donnée et le mois donné en te basant sur le champ created_at. Ce qui donnera pour le mois de juin 2008 :

SELECT COUNT(*) FROM ticket WHERE YEAR(created_at)='2008' AND MONTH(created_at)='06' GROUP BY id

Tu obtiens ici le nombre de tickets ouverts en juin 2008. Il te suffit ensuite d'incrémenter ce nombre pour savoir le numéro du ticket en cours de création et ainsi construire la référence du ticket.

Pour gérer les symbôles A, B, C... tu peux utiliser un tableau associatif à 12 entrées (12 mois) où chaque clé correspond au numéro du mois et où la valeur est la lettre. Ce qui donne :

<?php  $codeMois = array(  1 => 'A', 2 => 'B', 3 => 'C' ... ); ?>

++

 
Par fifouta  -  Le 06/06/2008 01:09  -  Haut de page  - 

oui je vous ai vite reconnu ;) ce que le monde est petit :D

j'ai eu pas mal de réponses sur différents sites ce qui va me permettre sans doute de trouver la meilleure solution . mais le problème que je rencontre est celui de la codif de l'année qui va etre sur deux positions car dans deux ans "2010" le chiffre concernant l'année sera 10 !!

cordialement

 

 

 
Par Savageman  -  Le 10/06/2008 22:35  -  Haut de page  - 

C'est le mois qui va te servir de délimiteur pour tout retrouver. Celui-ci est une lettre, et tout le reste ne sont pas des lettres, donc tu peux y arriver comme ceci :

Tout ce qu'il y a avant la lettre => c'est l'année La lettre => c'est le mois Tout ce qu'il y a après => c'est le numéro

 
Par fifouta  -  Le 13/06/2008 17:34  -  Haut de page  - 

vous voulez dire que pour trouver les tickets d'un mois précis , je fais une recherche par rapport à la lettre ?

 

Ajouter une réponse à la discussion

Seuls les membres connectés sont autorisés à poster dans les forums !

Identifiez-vous
Join |  ID/MDP? |