{MySQL} CREATION DES TABLES

Fermé
YAKA2009 Messages postés 17 Date d'inscription jeudi 3 septembre 2009 Statut Membre Dernière intervention 9 janvier 2016 - 5 sept. 2009 à 18:14
YAKA2009 Messages postés 17 Date d'inscription jeudi 3 septembre 2009 Statut Membre Dernière intervention 9 janvier 2016 - 8 sept. 2009 à 21:45
Merci Tonio pour ta proposition.
j'ai créé des tables en reprenant ton exemple (voir le code en fin de msg)
j'ai utilisé la requete ci dessous mais j'ai un message d erreur je pense avoir un pb au niveau des clés.
j'ai rajouté la table planning qui contient le nbre de jours pendant lesquels les enfants participent
à chaque activité.

Select sum(tarif) from t_parent, t_enfant, t_tarif,
where id_parent.t_parent=id_parent.t_enfant


l'objectif est d'avoir un tabelau qui ressemble à ceci :

prenom enfant ! nom enfant ! prenom parent ! nom parent ! adresse ! activite 1 ! nbre_jours ! tarif ! solde

le solde = tarif activite * nbre_jours.

pour la saisie
sur cette vue le nbre de jours doit être modifiable et le solde se mettre à jour.

pour le publipostage : seul les enregsitrements avec un solde > 0 s'affcihent.




CREATE TABLE `bd_mabase`.`t_enfant` (
`id_enfant` INT NOT NULL AUTO_INCREMENT ,
`prenom` VARCHAR( 30 ) NOT NULL ,
`nom` VARCHAR( 30 ) NOT NULL ,
`id_parent` INT NOT NULL ,
`id_activite` INT NOT NULL ,
`id_tarif` INT NOT NULL ,
PRIMARY KEY ( `id_enfant` , `id_parent` , `id_activite` , `id_tarif` )
) ENGINE = MYISAM


CREATE TABLE `bd_mabase`.`t_parent` (
`id_parent` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`titre` VARCHAR( 20 ) NOT NULL ,
`prenom` VARCHAR( 30 ) NOT NULL ,
`nom` VARCHAR( 30 ) NOT NULL ,
`adresse1` VARCHAR( 30 ) NOT NULL ,
`adresse2` VARCHAR( 30 ) NULL ,
`cp` VARCHAR( 5 ) NOT NULL ,
`ville` VARCHAR( 20 ) NOT NULL);


CREATE TABLE `bd_mabase`.`t_activite` (
`id_activite` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`code_activite` INT NOT NULL ,
`nom` VARCHAR( 30 ) NOT NULL);

CREATE TABLE `bd_mabase`.`t_tarif` (
`id_tarif` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`tarif` VARCHAR( 30 ) NOT NULL);



CREATE TABLE `bd_mabase`.`t_planning` (
`id_planning` INT NOT NULL AUTO_INCREMENT,
`Nb_jours` INT NOT NULL ,
`id_activite` INT NOT NULL ,
`id_enfant` INT NOT NULL ,
PRIMARY KEY ( `id_planning` , `id_activite`, `id_enfant`)

) ENGINE = MYISAM ;

requete utilisée
Select sum(tarif) from t_parent, t_enfant, t_tarif,
where id_parent.t_parent=id_parent.t_enfant

A voir également:

1 réponse

CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
7 sept. 2009 à 09:06
0
YAKA2009 Messages postés 17 Date d'inscription jeudi 3 septembre 2009 Statut Membre Dernière intervention 9 janvier 2016 1
8 sept. 2009 à 21:45
Merci beacuoup pour ton aide Capit et Tonio aussi.
j'ai d'autres questions :
je voudrais maintenant savoir tous les mois le solde du par chaque enfant pour chaque activités (il y a 4 acitivtés au total) et le solde global pour ce même enfant pour adresser à ses parents une facture

l'idée est d'avoir un formulaire mensuel dans lequel on insere un chiffre (nbre de jours) par activité et
le solde mensuel est calculé pour chaque enfant et nous avons le détai du solde par activité par jour de présence.

en principe le formulaire a les colonnes suivantes sur une ligne :

prenom enfant ! nom enfant ! prenom parent ! nom parent ! adresse 1 ! adresse 2 ! cp ! ville ! activite 1 !

Nb_jours activite 1 ! tarif activité 1 ! solde activité 1 (par enfant) ! activite 2 ! Nb_jours activite 2 ! solde

activité 2 ! activite 3 ! Nb_jours activite 3 ! tarif activite 3 ! solde activité 3 ! nom activite 4 ! tarif activte 4 !

Nb_jours activité 4 ! solde activité 4 ! solde toutes activités (pour chaque enfant)

est-il possible d'avoir une requête ou des requêtes imbriquées qui calculen ces différents soldes par enfants.

J'ai recopié ci dessous la structure de ma base actuelle : merci pour votre aide à tous :

CREATE TABLE `bd_mabase`.`t_enfant` (
`id_enfant` INT NOT NULL AUTO_INCREMENT ,
`prenom` VARCHAR( 30 ) NOT NULL ,
`nom` VARCHAR( 30 ) NOT NULL ,
`id_parent` INT NOT NULL ,
`id_activite` INT NOT NULL ,
`id_tarif` INT NOT NULL ,
PRIMARY KEY ( `id_enfant` , `id_parent` , `id_activite` , `id_tarif` )
) ENGINE = MYISAM


CREATE TABLE `bd_mabase`.`t_parent` (
`id_parent` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`titre` VARCHAR( 20 ) NOT NULL ,
`prenom` VARCHAR( 30 ) NOT NULL ,
`nom` VARCHAR( 30 ) NOT NULL ,
`adresse1` VARCHAR( 30 ) NOT NULL ,
`adresse2` VARCHAR( 30 ) NULL ,
`cp` VARCHAR( 5 ) NOT NULL ,
`ville` VARCHAR( 20 ) NOT NULL);


CREATE TABLE `bd_mabase`.`t_activite` (
`id_activite` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`code_activite` INT NOT NULL ,
`nom` VARCHAR( 30 ) NOT NULL);

CREATE TABLE `bd_mabase`.`t_tarif` (
`id_tarif` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`tarif` VARCHAR( 30 ) NOT NULL);



CREATE TABLE `bd_mabase`.`t_planning` (
`id_planning` INT NOT NULL AUTO_INCREMENT,
`Nb_jours` INT NOT NULL ,
`id_activite` INT NOT NULL ,
`id_enfant` INT NOT NULL ,
PRIMARY KEY ( `id_planning` , `id_activite`, `id_enfant`)

) ENGINE = MYISAM ;

merci aux amateurs de php/mysql de votre aide !!
0