Hum un peu ^^
J'ai essayé de faire un tableau :
id_sous_ensemble | coef_du_sous_ensemble
Mais il me retourne pas ce que je veux :'(
<?php
// On récupère l'id du projet
$req1 = $bdd->prepare('SELECT id_projet FROM projet WHERE nom_projet = ?');
$req1->execute(array($_POST['nom_projet']));
$id_projet = $req1->fetch();
// On récupère tous les sous-ensembles du projet en appliquant les coefficients
$req2 = $bdd->prepare('
SELECT
sous_ensemble.nom_sous_ensemble,
(
(
sous_ensemble.poids_sous_ensemble *
materiaux.indicateur_materiaux *
process.indicateur_process
)
+
(
sous_ensemble.quantite_traitement_sous_ensemble *
traitement.indicateur_traitement
)
)AS coef_ss_ens
FROM sous_ensemble
INNER JOIN materiaux ON sous_ensemble.matiere_sous_ensemble = materiaux.nom_materiaux
INNER JOIN traitement ON sous_ensemble.traitement_matiere_sous_ensemble = traitement.nom_traitement
INNER JOIN process ON sous_ensemble.processus_matiere_sous_ensemble = process.nom_process
WHERE id_projet = ?');
$req2->execute(array($id_projet['id_projet']));
$coef_ss_ens = $req2->fetch();
foreach( $coef_ss_ens as $value )
echo 'Le sous-ensemble '. $coef_ss_ens['nom_sous_ensemble'] .' a pour coefficient '. $coef_ss_ens['coef_ss_ens'] .'<br />';
$req1->closeCursor();
$req2->closeCursor();?>
Les lignes qu'il me retourne sont :
Le sous-ensemble P1p2s1 a pour coefficient 3.3
Le sous-ensemble P1p2s1 a pour coefficient 3.3
Le sous-ensemble P1p2s1 a pour coefficient 3.3
Le sous-ensemble P1p2s1 a pour coefficient 3.3
Il me met 4 lignes alors que dans mon projet j'ai 6 sous-ensembles (c'est le id_projet 1 cf premier post) et il me répète l'id_sous_ensemble 4.
Je comprend pas trop où j'ai faux
Au niveau de l'autre tableau
Id_piece | coef_de_la_piece
je pense qu'il faut passer par ce premier tableau "id_sous_ensemble | coef_du_sous_ensemble" en récupérant la colonne "id_piece"
Donc cela ferait :
Id_piece | id_sous_ensemble | coef_du_sous_ensemble
Puis après je sais pas si c'est faisable avec un foreich on ferait la somme de chaque coeff des sous-ensembles par pièce.
Ça ressemble à ce que tu m'as indiqué?