Relation entre les tables mysql

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Relation entre les tables mysql

Re: Relation entre les tables mysql

par wags » 25 sept. 2019, 12:07

Bon fouilles déprimantes :(

Je me savais loin d'avoir les connaissances mais là je me noie littéralement.

Il faudra que je parte d'une base vierge car le code que j'ai trouvé est trop complexe pour que je m'en sorte et que j'ajoute ce que je veux.

Je retourne à mes chères études ;)

Merci en tout cas.

Re: Relation entre les tables mysql

par wags » 24 sept. 2019, 21:04

Merci @rthur, je fouille de ce côté ;)

Re: Relation entre les tables mysql

par @rthur » 24 sept. 2019, 09:39

Ce n'est pas automatique, c'est dans ton code quand tu vas insérer une opération que tu vas devoir insérer l'id du membre qui est en train de faire cette opération

Re: Relation entre les tables mysql

par wags » 23 sept. 2019, 22:13

Bonsoir @rthur,

Je te remercie pour ces explications. Oui c'est le même principe qu'access, là je m'y retrouve ;)

Et pour la suite, comment la table des opérations va automatiquement ajouter l'id_membre dans la table des opérations.
Le but étant que le membre remplisse le formulaire sans devoir mettre son id (de plus il le connait pas ;) )

Donc comment php va ajouter automatiquement l'id_membre ?

Merci d'avance.
Bonne journée ou soirée ;)

Re: Relation entre les tables mysql

par @rthur » 23 sept. 2019, 12:14

Il faut effectivement que tu travailles ton modèle de données, ça peut être un truc comme celà :

Table membres :
- id_membre (INT + AUTO_INCREMENT)
- nom
- email
-...

Table operations :
- id_operation (INT + AUTO_INCREMENT)
- id_membre
- date_entree
- montant_achat
- date_sortie
- montant_vente
- ...

J'ai créé pour chaque table un champ id qui est à mettre en index avec format entier et auto_increment qui sera créé automatiquement par MySQL comme valeur unique, ça te facilitera la vie pour faire référence à un membre ou à une transaction.
Et du coup c'est cette valeur que je te propose d'utiliser dans ta table operations pour savoir quel membre a fait l'opération.
Pourquoi utiliser un ID pour faire la liaison entre les deux tables (plutôt que le nom ou l'email), c'est tout simplement pour permettre à l'utilisateur de mettre à jour son nom ou son email, sans que cela "casse" la liaison.

Relation entre les tables mysql

par wags » 23 sept. 2019, 10:44

Bonjour à toutes et à tous,

Petite présentation pas très glorieuse : html et css, ca va mais alors le php, quelle drôle de bête. J'ai suivi quelques cours, ça semble aller mais dès que je me retrouve face à mon écran blanc : gloups.

Donc venons en au sujet.

J'ai récup un script de "gestion d'espace membre de base"

Ce qui m'intéresse c'est que l'utilisateur puisse s'inscrire et se connecter. Ce que ce script fait admirablement bien.

Je voudrais y ajouter beaucoup de choses (ça sera un "site" pour un ami et moi) afin d'enregistrement des opérations financières.
Bref une date d'entrée, un montant d'achat, une date de sortie, un montant de vente et ainsi de suite (un peu comme une base de données access mais sous forme de site) Ces données seront introduites par le biais d'un formulaire.

Donc ma question sur la base du projet (et je bloque déjà :( )

J'ai une table nommée 'membres'
Je vais créer une table 'opérations'

Je voudrais que ces deux tables soient en relation afin que chaque membre puisse avoir ses opérations affichées quand il est connecté et reconnu par le site.

J'imagine donc que l'ID du membre sera copiée et sert à attribuer les opérations à chaque membre.

Est ce que mon raisonnement est bon ?
Si oui, comment faire cela ?

Avez vous une piste ou un terme ou explication qui me permettrait de trouver plus d'info sur le net.

Je vous remercie et vous souhaite une bonne journée.