Création de numéro de facture.

Signaler
Messages postés
1
Date d'inscription
jeudi 16 février 2006
Statut
Membre
Dernière intervention
25 janvier 2009
-
Messages postés
46
Date d'inscription
vendredi 24 octobre 2008
Statut
Membre
Dernière intervention
27 janvier 2009
-
onjour,

Je débute en php/mysql est j'ai en tête de faire une petite application
web, qui me sera utile au boulot. Mais il me reste une chose dont je
n'ai pas encore trouvé la réponse.


J'ai besoin de créer un numéro de facture a partir de la date courante du code fournisseur et d'un nombre incrémenté.


Depuis un formulaire, ou l'on choisira le fournisseur depuis une liste
déroulante, ou l'on saisira un numéro d'action et un montant TTC, la
date (timestamp) sera aussi intégré à la table, mais non saisie. en
champ de formulaire caché j'aimerais que se crée un numéro de facture
de ce type :


0901C0103


c'est a dire :

09 = année (extraite donc de timestamp)

01 = le mois (extrait de timestamp aussi)

C01 = le code fournisseur (choisi depuis une liste déroulante)

03 = un nombre incrémenté

en somme ce numéro de facture nous dit que c'est la 3eme facture pour le fournisseur C01 de janvier 2009.


je pense que la concaténation des 3 premières info. ne pose pas trop de
souci. Mais c'est plus pour l'incrémentation qui doit tenir compte du
numéro de la facture précédente et de la date. Car en février 2009, la
première facture aura se numéro : 0902C0101 et ainsi de suite.


De plus j'aimerais donc que ce numéro de facture. forcément unique soir la clé primaire de ma table.


Je ne sais pas si j'ai été clair. Mais je suis dispo si vous ne comprenez pas ce que je voudrez.


Vous remerciant par avance.


@+

1 réponse

Messages postés
46
Date d'inscription
vendredi 24 octobre 2008
Statut
Membre
Dernière intervention
27 janvier 2009

Bonjour,

Je pense que c'est assez clair.
Imaginons que vous ayez (pour faire simple):
une table fournisseur:
- champs "nom"
- champs "code_fournisseur"

une table facture:
- champs "id_facture" qui sera donc votre clé primaire
- champs "date_facture"
- champs "montant_ttc"
et perso je rajouterai un champs "code_fournisseur" même si on peut retrouver ce dernier dans "id_facture"

Dans votre formulaire, vous faîtes donc un select pour choisir le fournisseur (je vous laisse faire le mysql_fetch_array etc... sur la table des fournisseurs):
<select name='code_fournisseur'>
<option value=<?php $code_fournisseur; ?>><?php echo $nom_fournisseur; ?></option>
</select>

Vous faites également un input text pour le montant ttc:

Vous faites également un input text pour la date:
'>
et un bouton pour valider et envoyer ça sur une page de traitement et d'enregistrement dans la table facture.

Sur cette page de traitement, il faudra déterminer qu'elle est le numéro de la facture pour le mois en cours du fournisseur choisi, un genre de:
mysql_numrows("SELECT id_facture FROM table_facture WHERE MONTH(date_facture)=$month")
avec $month=date('m') à vérifier.
et votre id_facture sera la concaténation de tout ces éléments.

C'est pas très détaillé mais ca donne des bases, je pense...