IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Automatisation d'incrémentation de numéros


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations forums :
    Inscription : Novembre 2008
    Messages : 55
    Par défaut Automatisation d'incrémentation de numéros
    Bonjour à tous

    J'ai un sérieux problème qui est le suivant.
    Voila la composition des champs de ma table client.

    ID_CLI NOM_CLI NO_CLI (clé primaire de la table)
    1 client 1 001-01
    2 client 2 002-01
    3 client 2 002-02 (002 code client et 02 pour la 2eme agence du client 2)

    Chacun de ces client procède au moins une trentaine de véhicules.

    Je voudrai automatiser l'incrémentation du code véhicule de la table véhicule de tel manière que l'or de l'enregistrement d'un véhicule, l'utilisateur choisisse un client, le numero du vehicule du vehicule s'enregistre de cette façon:

    001-01-01 (code vehicule1 du client 1)
    002-01-01 (code vehicule1 du client 2 agence 1)
    002-02-06 (code vehicule6 du client 2 agence 2)

    En toute franchise je n'ai pas de point de départ pour ce problème car je débute dans le domaine!!!

    merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 235
    Par défaut
    J'ai pas vraiment d'idée mais je vois pas trop l'intérêt de structure tes données comme ca...

    J'aurais plutôt fait au moins 2 tables je pense... une qui lie le client et l'agence et l'autre qui lie l'agence aux véhicules...

    Après c'est que mon avis... Mais je pense que tu te complique la vie...

    Sinon je n'ai pas vraiment de solution à ton problème...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations forums :
    Inscription : Novembre 2008
    Messages : 55
    Par défaut
    merci Borowsky pour la vive réponse.

    J'ai justement trois tables mais c'est plutôt agence qui est lié à client et client liée à vehicule.
    - L'interet est celui que avec le numéro de véhicule on poura directement retrouvé sa société et son agence.
    - Je voudrais également connaître rien que par des numéro de véhicule le nombre de vehicule pour chaque agence pour un client
    - Je ne voudrai pas aussi que l'utilisateur mette ce code vehicule manuellement.

    Je reste toujours à la recherche d'une solution

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 235
    Par défaut
    Pourrais-tu donner les différentes colonnes de tes tables s'il te plait ?

    Pour que je vois comment elle sont construites...

    Merci

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    La bonne solution est celle de borowsky et elle répond egalement à tes besoins.

    Si un client avait un numero de client different selon l'agence avec laquelle il traite, cela complique ses demarches et les tiennes.

    De la meme facon un vehicule ne devrait pas changer de numero au cours de sa vie.

    tu as d'un coté tes clients
    1 client abc
    2 client z
    3 client toto

    d'un côté tes agences
    1 agence du nord
    2 agence du sud

    suivis de tes vehicules
    id - nom - agence - client
    1 peugeot - Null - Null
    2 jaguar - 2 - 3
    3 toyota - 1 - Null

    ton vehicule 1 est en livraison
    ton vehicule 2 est geré par l'agence du sud et est actuellement chez toto
    ton vehicule 3 est geré par l'agence du nord est n'est pas utilisé.

    le vehicule 3 est pris par un client ? une ligne a mettre à jour.
    le vehicule 2 est redeposé par le client a une autre agence ? une ligne à mettre à jour

    le nombre de vehicule pour chaque agence pour un client
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT count(*) FROM vehicules WHERE client=1 GROUP BY agence
    Tout ca est un exemple qui ne colle peut etre pas forcemment parfaitement a ton cas réel mais l'idée est la.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations forums :
    Inscription : Novembre 2008
    Messages : 55
    Par défaut
    Je pense que je vois de mieux en mieux cequ'il ya lieu à faire.

    Y a t'il donc moyen qu'à chaque création de véhicule l'utilisateur choisisse le NO_CLI (001), le NO_AG (02) numero de l'agence ainsi le NO_VEHI (001-02-03) s'incrémente automatiquement, s'il y avait de ja deux voiture enregistré pour ce client dans ma base?

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 191
    Par défaut
    une table client
    client_id
    client_name
    client_number_vehicule
    ...

    une table agence
    agence_id
    agence_name
    ...

    une table vehicule
    vehicule_id
    vehicule_number
    vehicule_name
    ...
    client_id
    agence_id

    apres à chaque insertion de vehicule
    vehicule_number = client_number_vehicule + 1
    client_number_vehicule = client_number_vehicule + 1

    et le tour est joué en faite faut concerver l'incrémentation sur le client

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations forums :
    Inscription : Novembre 2008
    Messages : 55
    Par défaut
    eN PASSANT C4EST 9A MES TOIS TABLES

    tABLE agence

    CREATE TABLE `nashtac_db`.`agence` (
    `ID_AG` INT( 9 ) NOT NULL AUTO_INCREMENT ,
    `NOM_AG` TEXT NOT NULL ,
    `COD_AG` TINYTEXT NOT NULL ,
    `TEL_AG` TINYINT( 15 ) NOT NULL ,
    `FAX` TINYINT( 15 ) NOT NULL ,
    `RESP_AG` TEXT NOT NULL ,
    `GSM_RESP` TINYINT( 15 ) NOT NULL ,
    PRIMARY KEY ( `ID_AG` )
    ) ENGINE = InnoDB
    table vehicule
    CREATE TABLE `vehicule` (
    `ID_VEHI` int(9) NOT NULL auto_increment,
    `NUM_Vehi` tinyint(12) NOT NULL,
    `REF_CLI` tinytext NOT NULL,
    `DT_MONTE` date NOT NULL,
    `MARQUE` text NOT NULL,
    `MODELE` tinytext NOT NULL,
    `CAR_NAME` text NOT NULL,
    `IMMAT` tinytext NOT NULL,
    `NOF1` tinytext NOT NULL,
    `DATE_SORTI` date NOT NULL,
    `LABEL` tinytext NOT NULL,
    `PAR_BRISE_` text NOT NULL,
    `SYSTEME` text NOT NULL,
    PRIMARY KEY (`ID_VEHI`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
    table client

    CREATE TABLE `client` (
    `ID_CLI` int(9) NOT NULL auto_increment,
    `NOM_CLI` text NOT NULL,
    `NUM_AG` tinytext NOT NULL,
    `NUM_CLI` tinytext NOT NULL,
    `VILLE` text NOT NULL,
    `CP` tinyint(9) NOT NULL,
    `ACTIVITE` text NOT NULL,
    `RUE` varchar(25) NOT NULL,
    `ZICO` text NOT NULL,
    `DT_CRE` tinytext NOT NULL,
    `NOF` varchar(3) NOT NULL,
    PRIMARY KEY (`ID_CLI`),
    UNIQUE KEY `ID_CLI` (`ID_CLI`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
    Mon principale problème est celui que j'ai changer de SGBD avec une recuperation de base de données donc les anciens ID sont confondu

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations forums :
    Inscription : Novembre 2008
    Messages : 55
    Par défaut
    Pardon j'oubliai de signaler que REF_CLI de la table vehicules à la meme valeur que NO_CLI

  10. #10
    Membre expérimenté

    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 191
    Par défaut
    Citation Envoyé par paolo129 Voir le message
    ....
    Mon principale problème est celui que j'ai changer de SGBD avec une recuperation de base de données donc les anciens ID sont confondu
    j'ai pas compris ta phrase?

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations forums :
    Inscription : Novembre 2008
    Messages : 55
    Par défaut
    J'essaie de vous faire comprendre que j'ai recuperé certaines données qui étaient gérées par Lotus Approah.

    Pour le nouveau SGBD qui sera maintenant php/mysql, administrable par interface web, je veux apporter à ce dernier plus de facilité dans la gestion des données.

    Etant donc obligé de de travailler avec les anciennes données j'ai modifier les numero client qui avant était sous cette forme:

    70401 en 001-01 par
    70402 en 001-02 etc

    et cette manipe à été faite sous excel.

    Pour les futur enregistrement e vehicules, je voudrai donc que si lors d'un enregiestrement , si j'ai deja 20 voiture enregistrés, pour le client de la deuxième agence du client 1, que j'ai automatiquement 001-02-21 après avois fais un choi parmi celles_ci:

    -choisir NO_CLI et NO_AG pour avoir ceci 001-01-21

    ou
    -NOM_CLI et NO_AG pour avoir ceci 001-01-21


    Je veux pouvoir avoir l'un des resultat en passant par l'un de ces chemin


    J'ai peut etre beaucoup bavardé pour ne rien dire

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations forums :
    Inscription : Novembre 2008
    Messages : 55
    Par défaut
    Bonjour
    H'ai longtemps gigoté sur ta proposition Helfima[/B], où tu me donne cette solution.
    apres à chaque insertion de vehicule
    vehicule_number = client_number_vehicule + 1
    client_number_vehicule = client_number_vehicule + 1

    et le tour est joué en faite faut concerver l'incrémentation sur le client
    D'après mes tables quel est la requete ou code qui poura me donné ce resultat ??

Discussions similaires

  1. Incrémentation du numéro de facture
    Par Toison dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 23/05/2008, 15h09
  2. Incrémenter le numéro des semaines
    Par liseprachan dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 20/02/2008, 12h03
  3. incrémenter le numéro de l'objet
    Par lesafir dans le forum Langage
    Réponses: 5
    Dernier message: 07/06/2007, 15h41
  4. Incrémentation du numéro de version (dll et exe) en C
    Par biglolo dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 07/02/2007, 18h09
  5. [D6] Incrémenter le numéro de version
    Par Lung dans le forum EDI
    Réponses: 3
    Dernier message: 08/08/2005, 10h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo