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

 MySQL Discussion :

Imprimer une facture à partir de ma base


Sujet :

MySQL

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 9
    Points : 1
    Points
    1
    Par défaut Imprimer une facture à partir de ma base
    Bonjour,

    Je viens de créer ma base de données pour prouver à mon futur peut être employeur que je peux le faire ! Elle est sur serveur gratuit qui gère mysql et php4.

    Mais bon, je ne comprends rien aux clés primaires et secondaires.

    Mon but est d'imprimer une facture : j'ai donc créé quatre tables, une client (id client, nom, prénom, adresse, code postal et ville), une "article" (id article, libelle, prix unitaire), une "facture" (id facture, id client, date) et une "contient" (id facture, id article, quantité).

    Et là je coince. J'ai mis tous les id en clé primaire et je ne comprends plus comment je peux faire pour sortir une facture (pour le html et le php, je peux gérer je crois, mais c'est dans sql que je coince).

    Faut il se servir des clés extérieures (là aussi, j'ai du mal avec le concept) ?

    Comment relier les tables entres elles et sont elles suffisamment renseignées pour en tirer une facture?

    Quelqu'un peut il m'aider?

    SOS
    Cordialement

  2. #2
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut Re: Imprimer une facture à partir de ma base
    Ah ben c'est du propre ça! Et une fois que tu seras embauché, tu feras appel à nous pour te dépatouiller de chaque problème que tu rencontres? Si c'est ça je t'envoie un RIB pour que tu puisse me reverser ton salaire.

    Bon allez, puisque je suis d'humeur sympa aujourd'hui, je vais te dire comment sortir toutes les lignes de la facture numéro 2 (par exemple) avec le prix par ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT 
      article.*,
      article.prix_unitaire * contient.quantite AS montantLigne
     
    FROM facture
    JOIN contient ON facture.id_facture=contient.id_facture
    JOIN article ON contient.id_article=article.id_article
     
    WHERE facture.id_facture=2
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    Coucou,

    C'est pas encore fait. Mais j'aimerais bien. Je lui cours après et il me court devant.... le futur ex patron... Un de plus....

    Je te remercie amplement ! Tu es un chef !

    Mais dis donc, c'est une requête "externe" à la base et tu veux dire que je n'ai pas à me servir des clés primaires et extérieures? C'est bon alors ce que j'ai fait au départ?

    Ah, pour l'occas, à défaut de virement salarial, un bisou... (bof mais bon)

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    Recoucou,

    En fait, c'est la première fois que je fais une base à la main, sous sql. Connaissais pas sql, et il faudrait que je sois opérationnelle avant.... après-demain ("faut que ce soit prêt pour avant-hier", ca ne te parle pas? ). Enfin, que je me dépatouille, parce que je pense que ca va être beaucoup plus simple. Mais qui peut le plus peut le moins.... et puis il faut que je me remette à jour tous azimuts en info (je ne programme plus depuis des années et j'ai quasiment tout perdu).

    La table "contient" va se renseigner seule? à partir du moment où je rentre les autres données dans les autres tables? J'ai passé tous les champs (ou colonnes?) de la table "contient" en clés primaires : chaque ligne....

    Si elle ne se "remplit" pas seule cette table ("contient"), a t on la possibilité avec une instruction de ligne de pouvoir le faire faire à la construction de la base?

    Amicalement

    Je ne connais pas le comportement de ce langage....

    Et tu peux me dire la différence entre clé primaire et clé extérieure? J'ai beau tout lire, je n'y comprends rien (tuto d'ici et d'ailleurs etc).

    ps : quand je reserai à jour (si j'y arrive) j'aiderai les autres aussi.

  5. #5
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Citation Envoyé par chataigne
    "faut que ce soit prêt pour avant-hier", ca ne te parle pas?
    Ce à quoi je réponds toujours: "si ça devait être prêt pour avant-hier, c'est que c'est prêt depuis avant-hier et donc j'ai plus à bosser dessus. Moi au moins je respecte les délais."


    Citation Envoyé par chataigne
    Si elle ne se "remplit" pas seule cette table ("contient")...
    Ben non elle va pas se remplir toute seule ta table: je fais pas de la magie, je m'appelle pas David Coperfield (j'ai jamais eu Claudia Schiffer dans mon lit que je sache !)


    Citation Envoyé par chataigne
    Et tu peux me dire la différence entre clé primaire et clé extérieure?
    Alors déjà, on ne dit pas "clé extérieure" mais "clé étrangère" (foreign key).

    Une clef primaire permet d'identifier un enregistrement. Elle est composée d'un ou plusieurs champs (cas des associations). Une clef étrangère est un champ d'une table qui fait référence à la clef primaire d'une autre table.

    En MySQL, tu n'a pas la gestion des contraintes sur les clefs étrangères (sauf avec une table InnoDB je crois). Tu peux quand même les déclarer, mais uniquement pour la forme.

    Citation Envoyé par chataigne
    J'ai passé tous les champs (ou colonnes?) de la table "contient" en clés primaires
    Grossière erreur! Si tu mets également les quantités en clef primaire, alors tu pourras te retrouver avec ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    id_facture, id_article, quantité
    ----------------------------------
    0002, 2850, 5
    0002, 2850, 10
    Soit deux fois le même article sur la même facture pour des quantités différentes.

    Non, ce qui identifie une ligne, c'est le couple (id facture, id article)

    Maintenant, si tu veux faire une facturette de supermarché, tu veux éventuellement pouvoir exprimer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    produit, quantité, prix_unitaire
    ----------------------------------
    boite de petit pois, 2, 1.30
    eau minérale, 1, 0.25
    boite de petit pois, 2, 1.30
    Et dans ce cas, il ne faut pas qu'il y ait de clef primaire (sinon tu ne peux pas de doublons!)

    Par contre, dans ce cas, il serait intéressant que tu ais un traitement qui mette à jour les quantités de chaque produit de la facturette (que tu n'ais qu'une seule ligne avec 4 boites de petits pois, ça prend moins de place), même si sur la facturette tu te retrouve avec plusieurs lignes. Du coup, tu retrouves tes clefs primaires.

    C'est clair?
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  6. #6
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Bonjour,

    Si ça peut t'aider voici également quelques liens pour mieux comprendre ces concepts de modélisation des données :

    http://cyberzoide.developpez.com/php4/mysql/
    http://sqlpro.developpez.com/cours/modelisation/merise/
    http://sqlpro.developpez.com/cours/sqlaz/fondements/#L7
    Pensez au bouton

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    Coucou,

    Merci à tous les deux. Ben dis donc, pcaboche, tu n'as jamais eu Claudia dans ton lit ? Dommage... Moi non plus notes. Ca ne me mettrait pas à l'aise je crois ("une petite partie de scrabble Claudia ?" ).



    Plus sérieusement, je vais me plancher tout cela.. et vous tenir au courant. Merci. Vraiment très beaucoup merci. Encore.

    Au moins, c'est clair. Sur les tutos, je tournais en boucle avec les mêmes interrogations à lire et relire sans comprendre. Ca m'a débloquée complètement.

    Je vous tiens au courant. On va voir la suite.... suspens.

    Amicalement

  8. #8
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Tiens, c'est rigolo: je viens de remarquer que dans "boite de petit pois", je n'ai pas mis des 's' à "petit", ce qui sous-entends qu'il y a bien une boite, mais qu'elle ne contient qu'un seul petit pois... pas très rentable!

    A part ça, vous savez de quelle couleur sont les petits pois? Et bien rouges, parce que les petits pois sont rouges ! (les petits poissons rouges). Bon, d'accord, je sors...

    Et non, je n'ai jamais eu Claudia Chou-fleur dans mon lit... (puisqu'on est dans les fruits et légumes, autant y rester!)
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  9. #9
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    Coucou,

    Suis en train de tester la requête, mais passe po... me dit "erreur de syntaxe sur la première ligne". On dirait que c'est AS qui le gène...

    Il me dit ça :
    #1064 - Erreur de syntaxe près de '* `contient`.QUANTITE AS montantLigne
    FROM `facture`
    JOIN `c' à la ligne 1


    Enfin pas grave, déjà j'ai compris comment ca marche, je vais finir par trouver où il coince ce truc.

    A 1.3 euro le petit poid, ca fait chéro. Mais en admettant qu'il y ait la photo de Claudia sur la boîte, ca peut le faire... ptête.

    Mon autre hobby, c'est "les poissons rouges" (à part que qu'ils sont en eau de mer, ceux là). Comment as tu deviné ? ... je t'ai reconnu David !(Copperfield), tu es démasqué !... Claudia... le nom du magicien... et l'aquario... hum. Ce sont des preuves !

    Je ne m'explique par contre toujours pas le seul et unique petit pois. (On a toujours besoin d'un petit pois chez soi?).

    Bref, ca tape bien sur le système quand même l'apprentissage de sql en 17 heures chrono ! (ca fait déjà plus d'une semaine que je me tape la tête contre le frigo... ) Désolée, je sors...

    Avais besoin de me défouler un peu...

    Amicalement

  10. #10
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Et en ajoutant des parenthèses?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT 
      article.*,
      (article.prix_unitaire * contient.quantite) AS montantLigne
     
    FROM facture
    JOIN contient ON facture.id_facture=contient.id_facture
    JOIN article ON contient.id_article=article.id_article
     
    WHERE facture.id_facture=2
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  11. #11
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    Ca maaaaarche !!!! Enfin... je me creusais la tête à tout reprendre en boucle. J'ai repris une par une mes noms de variables.... toute la casse en minuscules et majuscules (sachant que la casse est importante je crois pour les serveurs unix).

    Et j'ai appliqué les parenthèses et hop : tout à coup (maintenant à peine), c'est passé.

    La requête exacte est :

    SELECT article. * , (
    article.PRIXUNITAIRE * contient.QUANTITE
    ) AS montantLigne
    FROM facture
    JOIN contient ON facture.ID_FACTURE = contient.ID_FACTURE
    JOIN article ON contient.ID_ARTICLE = article.ID_ARTICLE
    WHERE facture.ID_FACTURE = 2 LIMIT 0 , 30

    J'obtiens des résultats qu'il va falloir que je mette en page maintenant :

    ID_ARTICLE LIBELLE PRIXUNITAIRE montantLigne
    3 poulet mauve 11 55



    Merci pcaboche... vraiment tu es super et super gentil. Je te suis très reconnaissante. Je flippais un peu quand même...

    Je vais mettre aussi la création des tables (même si ce sont des tables de base, sans auto incrémentation et autres....) pour le cas où un autre débutant voudrait se faire la main :


    Base de données test - Table client sur le serveur localhost
    # phpMyAdmin SQL Dump
    # version 2.5.3
    # http://www.phpmyadmin.net
    #
    # Serveur: localhost
    # Généré le : Mardi 08 Novembre 2005 à 14:35
    # Version du serveur: 4.0.15
    # Version de PHP: 4.3.3
    #
    # Base de données: `test`
    #

    # --------------------------------------------------------

    #
    # Structure de la table `client`
    #

    CREATE TABLE `client` (
    `ID_CLIENT` smallint(6) NOT NULL default '0',
    `nom` varchar(250) NOT NULL default '',
    `prenom` varchar(250) NOT NULL default '',
    `adresse` varchar(250) NOT NULL default '',
    `code postal` smallint(6) NOT NULL default '0',
    `localité` varchar(250) NOT NULL default '',
    PRIMARY KEY (`ID_CLIENT`)
    ) TYPE=MyISAM;

    #
    # Contenu de la table `client`
    #

    INSERT INTO `client` VALUES (1, 'VAL', 'Val', '80 Montée du Paradis', 13009, 'Marseille');
    INSERT INTO `client` VALUES (2, 'Pol', 'Polo', '80 montee paveigne', 32767, 'Toulon');
    INSERT INTO `client` VALUES (3, 'Pol', 'Polette', '80 montee paveigne', 32767, 'Toulon');
    INSERT INTO `client` VALUES (4, 'Tony', 'Anton', '80 montee paveigne', 32767, 'Toulon');


    Base de données test - Table facture sur le serveur localhost
    # phpMyAdmin SQL Dump
    # version 2.5.3
    # http://www.phpmyadmin.net
    #
    # Serveur: localhost
    # Généré le : Mardi 08 Novembre 2005 à 14:32
    # Version du serveur: 4.0.15
    # Version de PHP: 4.3.3
    #
    # Base de données: `test`
    #

    # --------------------------------------------------------

    #
    # Structure de la table `facture`
    #

    CREATE TABLE `facture` (
    `ID_FACTURE` smallint(6) NOT NULL default '0',
    `ID_CLIENT` smallint(6) NOT NULL default '0',
    `DATE` datetime NOT NULL default '0000-00-00 00:00:00',
    PRIMARY KEY (`ID_FACTURE`)
    ) TYPE=MyISAM;

    #
    # Contenu de la table `facture`
    #

    INSERT INTO `facture` VALUES (2, 3, '2005-10-10 10:00:00');
    INSERT INTO `facture` VALUES (1, 2, '2004-10-01 00:00:00');

    Base de données test - Table article sur le serveur localhost
    # phpMyAdmin SQL Dump
    # version 2.5.3
    # http://www.phpmyadmin.net
    #
    # Serveur: localhost
    # Généré le : Mardi 08 Novembre 2005 à 14:34
    # Version du serveur: 4.0.15
    # Version de PHP: 4.3.3
    #
    # Base de données: `test`
    #

    # --------------------------------------------------------

    #
    # Structure de la table `article`
    #

    CREATE TABLE `article` (
    `ID_ARTICLE` smallint(6) NOT NULL default '0',
    `LIBELLE` varchar(250) NOT NULL default '',
    `PRIXUNITAIRE` float NOT NULL default '0',
    PRIMARY KEY (`ID_ARTICLE`)
    ) TYPE=MyISAM;

    #
    # Contenu de la table `article`
    #

    INSERT INTO `article` VALUES (1, 'poulet vert', '5');
    INSERT INTO `article` VALUES (2, 'poulet bleu', '6');
    INSERT INTO `article` VALUES (3, 'poulet mauve', '11');

    Base de données test - Table contient sur le serveur localhost
    # phpMyAdmin SQL Dump
    # version 2.5.3
    # http://www.phpmyadmin.net
    #
    # Serveur: localhost
    # Généré le : Mardi 08 Novembre 2005 à 14:35
    # Version du serveur: 4.0.15
    # Version de PHP: 4.3.3
    #
    # Base de données: `test`
    #

    # --------------------------------------------------------

    #
    # Structure de la table `contient`
    #

    CREATE TABLE `contient` (
    `ID_FACTURE` smallint(6) NOT NULL default '0',
    `ID_ARTICLE` smallint(6) NOT NULL default '0',
    `QUANTITE` smallint(6) NOT NULL default '0',
    PRIMARY KEY (`ID_FACTURE`)
    ) TYPE=MyISAM;

    #
    # Contenu de la table `contient`
    #

    INSERT INTO `contient` VALUES (2, 3, 5);


    Voilà, si un débutant veut s'amuser à créer des tables de base (ne pas tenir compte du blabla après les dièses, il y a quatre ou cinq lignes de création à chaque fois, et le format est rajouté par le serveur en local).

    Mais comme ca, il y a tout !

    Et il doit même y avoir des erreurs (j'ai du mettre un date time à la place d'un date tout court etc...). Et un smallint pour les codes postaux (paaaa bien).

    Amicalement

    ps : dés que j'ai fini la mise en page et le positionnement sur le net je mettrai le détail de la construction. Et après je m'en fais une pour me faire plaisir.

  12. #12
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    Quand même, je me demande si ca n'aurait pas été plus simple de créer trois tables : facture, client, article... seulement. Là je suis partie sur un modèle obtenu par une méthode de modélisation. Mais je me demande si je n'ai pas compliqué à plaisir.


    Et en plus je n'étais pas obligée de mettre les mêmes noms id_facture dans la table contient par exemple, et la table facture... c'était inutile.


    Amicalement

  13. #13
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Citation Envoyé par chataigne
    Quand même, je me demande si ca n'aurait pas été plus simple de créer trois tables : facture, client, article...
    Non, tu as besoin de ta table 'client':

    1) Pour éviter de saisir les données du client (non, prénom, adresse, etc.) à chaque nouvelle facture
    2) Pour un problème de duplication de données (tu n'auras qu'un seul enregistrement "client" référencé par une clef externes sur chacune de ses factures)
    3) Tu pourras faire des requêtes sur les clients (pour envoyer des promotions, faire des statistiques et des calculs de "taux de pénétration" (aucune connotation sexuelle! c'est un terme qui existe vraiment!))

    Citation Envoyé par chataigne
    Et en plus je n'étais pas obligée de mettre les mêmes noms id_facture dans la table contient par exemple, et la table facture... c'était inutile.
    C'est une question de formalisme: tu décides d'une convention de nommage au début et tu t'y tiens! (ça évite les problèmes par la suite).

    Evite de mettre les noms de tes champs tout en majuscules: on réserve généralement ça aux mots réservés de MySQL (SELECT, INSERT, etc.). Evite aussi d'appeler "DATE" un champs représentant une date. C'est trop vague! (et en plus, c'est un mot réservé)

    Le nom id_facture convient très bien. Garde-le tel quel (ne change pas de nom sous prétexte que "c'est plus long à écrire": c'est une excuse irrecevable).
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  14. #14
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    Coucou,

    Merci pour tous ces conseils. Je les appliquerai à la lettre. Bon pour le boulot c'est foiré. Le gars était désolé, une porte reste ouverte mais pour plus tard (n'empêches que je me suis prise un pied). Mais sur ma région, très peu de boulot en info pure donc... je suis habituée.

    J'accuse certes, mais je m'en remettrai.

    Je ne dois pas être la seule.

    En fait, c'est la table "contient" que je remets en cause, pas la table client.

    Je vais m'attaquer à ma base recensant des espèces en voie de disparition (animaux et arbres), elle au moins servira une bonne cause.

    Vais également finir ca pour savoir définitivement le maîtriser dans les règles de l'art.

    Merci à toi.


  15. #15
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Citation Envoyé par chataigne
    Mais sur ma région, très peu de boulot en info pure donc... je suis habituée.
    Quelle région exactement? (par curiosité).

    Citation Envoyé par chataigne
    Je ne dois pas être la seule.
    Malheureusement, non. Moi aussi je cherche du boulot, alors pour me remettre à jour, je refais un peu de MySQL. Un jour j'ai eu besoin d'une info que j'ai trouvée sur ce forum. Depuis, j'aide les gens en difficulté durant mon temps libre (au moins c'est constructif et ça me permet de voir les problèmes rencontrés en entreprise)

    Citation Envoyé par chataigne
    En fait, c'est la table "contient" que je remets en cause, pas la table client.
    Pourquoi? T'en as besoin de ta table 'contient' pour mettre des articles sur ta facture... Après, le nom est peut-être mal choisi ('contient', c'est trop général), tu peux par exemple la nommer 'ligne_facture'.

    Citation Envoyé par chataigne
    Je vais m'attaquer à ma base recensant des espèces en voie de disparition
    Au chapitre "espèces en voie de disparition": boulot d'informaticien ouvert aux débutants, boulot d'informaticien pas trop mal payé (par "pas trop mal payé", j'entends "autant qu'un crétin de commercial"), entreprises qui recrutent, etc...

    Voilà voilà
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  16. #16
    Nouveau Candidat au Club
    Inscrit en
    Septembre 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 9
    Points : 1
    Points
    1
    Par défaut
    Coucou,

    Je suis dans le Var. Et maman d'une famille nombreuse... beau passif et pas fainéante pourtant. Mais bof.... on finit par se décourager, puis ca revient en force.. ca fait des années que je cherche depuis que je suis arrivée ici. Un vrai travail là dedans, même mal payé. Analyste programmeur, comme à mes débuts.

    C'est bien ce que tu fais... j'apprécie personnellement ta démarche. Je crois que nous ne sommes pas les seuls à prendre quelquefois autre chose comme boulot et à plancher la programmation en à côté, pour ne pas oublier. Je ne l'ai pas fait ces dernières années (plancher en à côté) et j'ai un peu oublié... mais c'est comme le vélo, les réflexes restent acquis quand même, je pense (et j'espère, mais je vais très vite être fixée).

    Enfin je te dirai ca quand j'aurai fini ma remise à jour, et mon autoformation personnelle.

    Pas facile à l'heure actuelle tout ça.

    Je vais réfléchir à mettre nos métiers dans une nouvelle base sur un site comme espèces en voie de disparition, c'est finalement une très bonne idée ! Je suppose que ca doit dépendre des coins en France quand même.

    Pour la table "contient", oui, tu as raison, c'est le nom qui me gène en fait.

    Ca évite de resaisir un ensemble complet de données dans un autre table de toute facon. J'ai téléchargé deux interface graphique (grace à ce forum) qui permettent également de faire de la modélisation uml d'après ce que j'ai compris, voire merise... je suis impatiente de voir ca, ca doit permettre d'aller plus vite dans la perception des techniques en cours.

    Et en matière de "révisions générales", ca doit bien accélérer le processus.

    Quand je pense à ce que nous faisons pour nous remettre dans le bain en permanence, ou bien à ne rien perdre (pour certains d'entre nous). Faut vraiment que ce soit une passion...

    J'espère avoir bientot les moyens d'aider ici même.... Pour l'instant, j'ai l'impression de faire comme les bbs : B A BA...

Discussions similaires

  1. [MySQL] Afficher une image à partir stockée en base de données
    Par arti2004 dans le forum PHP & Base de données
    Réponses: 22
    Dernier message: 21/06/2011, 19h40
  2. impression d'une facture à partir de TDBGrid
    Par blond1888 dans le forum Bases de données
    Réponses: 11
    Dernier message: 23/01/2007, 16h23
  3. imprimer une facture
    Par montade dans le forum IHM
    Réponses: 2
    Dernier message: 27/11/2006, 20h12
  4. imprimer une facture avec liste de produits variables
    Par ouldfella dans le forum Delphi
    Réponses: 4
    Dernier message: 30/07/2006, 23h10
  5. [MySQL] Afficher une photo à partir de la base de données
    Par microcongo dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 07/09/2005, 17h29

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