Accueil > Forum > > > > comment faire ma relation ??
comment faire ma relation ??
mercredi 17 décembre 2008 à 17:47:57 |
comment faire ma relation ??

krustypop
|
Bonjour, dans le cadre d'un projet informatique, je voudrais mettre en place une appli web en php/mysql permettant de gérer le stock de consommable de l 'entreprise ou je travaille. J'ai décomposer ma bdd en 3 tables : utilisateur, printers(regroupant imprimantes, copieurs et fax), et type_cons(regroupant les différents types de consommables,leurs références et leur quantité disponible). Ma question est donc la suivante: comme pour une imprimantes on peut avoir plusieurs types de consommables (Exemple: pour une imprimante, j'ai un toner noir de référence .... et de quantité ..., j'ai aussi un toner cyan de ref ... et de quantité ... , un toner magenta .... etc bref vous avez compris ou je voulais en venir ;-))J'en arrive à ma question, je voudrais regrouper dans un tableau la marque et modele de mon imprimante puis ds ce meme tableau tout les consommables associés à cette imprimantes ainsi que leur quantités, mais étant en phase d'apprentissage de PHP/MySQL, je ne sais pas trop comment arriver à réunir toutes ces informations dans un tableau unique, je ne comprends pas comment rélier ces 2 tables meme avec des jointures. Voila si quelqu'un aurait la bonté de m'aiguiller sa serait très aimable de ca part. Sur ceux bonsoir les artistes !! 
|
|
mercredi 17 décembre 2008 à 18:41:25 |
Re : comment faire ma relation ??

kohntark
|
Réponse acceptée !
Salut,
Un peu en vrac : champs utilisateur : - id (un identifiant unique dans ta table) - printer_id (correspond au champ id de la table printers que possède l'utilisateur) - name - first_name - ...
champs printers : - id (un identifiant unique dans ta table) - trademark (canon, lexmark, ...) - model (modèle de l'imprimante) - ... champs type_cons : - id (un identifiant unique dans ta table) - model (sur ce champ tu feras la liaison avec le champ model de la table printers) - type_cons (type de consommable) - color - ...
// pour l'utilisateur "id utilisateur" $user_id = '[ton id utilisateur]'; $sql = " SELECT type_cons.type_cons, printers.trademark, printers.model, utilisateur.name, utilisateur.first_name FROM utilisateur, printers, type_cons WHERE utilisateur.printer.id = printers.id AND type_cons.model = printers.model AND utilisateur.id = '$user_id' "; if (false === $q = mysql_query($sql)) die (mysql_error());
while ($r = mysql_fetch_array($q)) { // construction du tableau }
Il y a peut être quelques erreurs qui se sont glissées par ci par là, je n'ai pas contrôlé et je n'ai pas testé.
Tiens nous au courant,
Kohntark-
|
|
mercredi 17 décembre 2008 à 19:11:51 |
Re : comment faire ma relation ??

malalam
|
Hello,
je ne suis pas d'accord : une imprimante accepte plusieurs types de consommable...mais un type de consommable peut aussi fonctionner sur plusieurs imprimantes. La relation est de type n-n. Il faut donc une table de jointure avec printer_id et consom_id. Et à priori, idem pour les utilisateurs et les imprimantes. Il n'y a pas de raison pour qu'un utilisateur n'ait forcément qu'une seule imprimante.
|
|
mercredi 17 décembre 2008 à 19:21:34 |
Re : comment faire ma relation ??

krustypop
|
Salut et merci de votre participation ^^ je ne suis pas d'accord avec toi car un type de consommable possède une référence et ne peut être utiliser que pour un seul modèle d'imprimante. Es-u d'accord ?
|
|
mercredi 17 décembre 2008 à 19:34:20 |
Re : comment faire ma relation ??

malalam
|
Ben non :-) Un de mes clients est un GROS du matériel et des consommables d'impression, et je peux t'assurer que la plupart de leurs cartouches (sans parler de leurs papiers) peuvent fonctionner sur plusieurs modèles d'imprimantes (modèles proches certes, mais étant des références différentes néanmoins). Après, si tu es certain que dans TON parc, cela n'arrivera pas, tu peux utiliser une relation 1-n en effet. Mais dans tous les cas, je ferais la jointure sur un id, pas sur la référence : c'est toujours plus rapide avec un entier qu'avec un champ de type chaîne.
|
|
mercredi 17 décembre 2008 à 19:49:15 |
Re : comment faire ma relation ??

krustypop
|
Merci de ton aide, par contre je ne comprends pas pourquoi il y a utilisateur dans la jointure, en fait ma table utilisateur sert juste à faire une authentification, pour sécuriser un minimum le site. et merci encore je vais tester ce système
|
|
mercredi 17 décembre 2008 à 19:53:11 |
Re : comment faire ma relation ??

malalam
|
Oh chais pas, j'ai suivi kohntark (t'aurais pas pu faire plus simple comme pseudo? Je m'y suis repris à 3 fois!!) qui a associé une imprimante à un utilisateur, ce qui pouvait sembler logique. Si aucun rapport, alors oublie.
|
|
mercredi 17 décembre 2008 à 19:56:15 |
Re : comment faire ma relation ??

krustypop
|
oui c'est vrai que c'est logique je m'en servirai peut être par la suite !!  merci
|
|
mercredi 17 décembre 2008 à 20:01:24 |
Re : comment faire ma relation ??

krustypop
|
J'ai une autre question,(désolé ^^) j'utilise easyphp et donc phpmyadmin pour la bdd. Est ce que le simple faite de mettre le champ model dans la table type_cons va me faire ma relation entre les 2 tables ??? Merci encore!
|
|
mercredi 17 décembre 2008 à 20:20:53 |
Re : comment faire ma relation ??

krustypop
|
Merci beaucoup, mes requêtes marchent à la perfection, par contre lors de l'affichage du tableau il va falloir que je trouve un moyen de n'afficher que la partie type de consommable dans le tableau et ne pas répéter sur chaque ligne la même marque associé et le même modèle. Avez vous une idée ??
|
|
Cette discussion est classée dans : tableau, imprimantes, quantité, consommables, toner
Répondre à ce message
Sujets en rapport avec ce message
Récupérer le résultat d'une requète pour l'afficher dans un tableau??? [ par DJ'Ska & Dreams... ]
Mon problème est le suivant: j'arrive à me connecter à ma base mySQL, lorsque j'execute une requète et que je souhaite afficher mes résultats, mes rés
Afficher les données dans un tableau ? [ par inceV ]
Contenant 2 lignes et 1 seule cellule :c'est à dire :- 1ère ligne où je veux afficher le titre de l'article par exemple,-2ème ligne où je veux affiche
Tableau......Help [ par benett ]
Bonjour à tous,comment peut-on cacher une cellule dans un tableau en cliquant sur un lien, et comment faire l'inverse également toujours via le même p
filtrer un tableau URGENT [ par flyersy ]
je récupère un résultat MySQL dans un tableau1 dont une des colonne contient un identifiant et une autre une chaîne "chem" de type 1,52,4,8. Je concat
comment afficher sous forme de tableau [ par Xime ]
bonjourvoila j'aimerais savoir comment afficher mes données que je recupere de ma base de données sous forme de tableau (la taille sera en fonction du
tri tableau 2 dimensions [ par lebobby ]
Bonjour je voudrais savoir comment je pourrais faire pour trier ce tableau :$tab[0]=array("i"=>"23", "c" => "rge", "date" =>'2002-08-03 12:00:00');$ta
tableau genere automatiquement avec mysql [ par maivg ]
bonjoursvoila je cherche un script pour genere un tableau de 4 sur 5 avec ma base de donne qui ne contient qu'un seul champs.help helpmerci et A+
alimenter un tableau avec des variables de session [ par pichoro ]
bonjour,voila mon probleme, je voudrais recuperer des variables et les stocker en tant que variables de session dans un tableau array();.j'ai donc un
Taille max d'un tableau [ par ceeno ]
Voila je cherche a definir la largeur max d'un tableau parceke lorske l'on fait comme cecica n'indike ke la taille min et si le tableau contient une l
passer un tableau à une autre page [ par dimi ]
Etant un programmeur débutant, peut-on m'expliquer comment via la fonction "onchange " de select, je peux passer un tableau à une autre page php?
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
XML ET PHPXML ET PHP par karouani
Cliquez pour lire la suite par karouani
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|