par
guigui69 » 24 déc. 2007, 10:39
Si quelqu'un aurait une petite aide pour moi sa serai la bienvenue.
Merci
guigui69
==================================
MAJ, j'arrive a avoir quelque chose si dans ma liste deroulante je sélection q'un produit j'arrive a avoir mon tableau, par contre si j'en sélectionne 2 il me sort ERREUR.
Voici le code de ma page php:
Code : Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr">
<head>
<?php
$matricule = $_POST['matricule'];
//$matricule = 23;
print("<center>$matricule</center>");
$server="******";
$user="*****";
$pass="*****";
$db="pdr";
mysql_connect($server,$user,$pass) or die('erreur de connexion');
mysql_select_db($db) or die ('impossible de se connecter a la base');
$listeMatriculeSQL = array();
foreach ($_POST['matricule'] as $matricule) {
$listeMatriculeSQL[] = '\'' . mysql_real_escape_string($matricule) . '\'';
}
$req = implode(', ', $listeMatriculeSQL);
echo $req;
$requete = "SELECT
ref_pdt,
(SELECT FORMAT(SUM(qte_m*pu_m)/(SUM(qte_m)-(SUM(qte_m)/100)*perte_pdt)*poids_u_m_pdt,4) as prix_u_m
FROM recette
INNER JOIN matiere ON recette.code_m=matiere.code_m
INNER JOIN produit ON recette.ref_pdt=produit.ref_pdt
WHERE produit.ref_pdt IN ($req)AND recette.fourrage_rctt=0)
AS somme1,
(SELECT FORMAT(SUM(qte_m*pu_m)/(SUM(qte_m)-(SUM(qte_m)/100)*perte_pdt)*poids_u_f_pdt,4) as prix_u_f
FROM recette
INNER JOIN matiere ON recette.code_m=matiere.code_m
INNER JOIN produit ON recette.ref_pdt=produit.ref_pdt
WHERE produit.ref_pdt IN ($req)AND recette.fourrage_rctt=1)
AS somme2,
(SELECT FORMAT(SUM(qte_emb*pu_emb)/nbre_piece_fab_main,4) AS test2
FROM recette_emb
LEFT JOIN emballage ON recette_emb.id_emb=emballage.id_emb
LEFT JOIN main_d_oeuvre ON recette_emb.ref_pdt = main_d_oeuvre.ref_pdt
LEFT JOIN produit ON produit.ref_pdt=recette_emb.ref_pdt
WHERE produit.ref_pdt IN ($req))
AS somme3,
(SELECT FORMAT((nbre_per_main*nbre_heure_main*taux_hor_main)/nbre_piece_fab_main,4) AS pdr_m_o_u
FROM main_d_oeuvre
INNER JOIN produit ON main_d_oeuvre.ref_pdt=produit.ref_pdt
WHERE produit.ref_pdt IN ($req))
AS somme4,
(SELECT FORMAT(SUM(qte_m*pu_m)/(SUM(qte_m)-(SUM(qte_m)/100)*perte_pdt)*poids_u_m_pdt,4) as prix_u_m
FROM recette
INNER JOIN matiere ON recette.code_m=matiere.code_m
INNER JOIN produit ON recette.ref_pdt=produit.ref_pdt
WHERE produit.ref_pdt IN ($req)AND recette.fourrage_rctt=0)
+
(SELECT FORMAT(SUM(qte_m*pu_m)/(SUM(qte_m)-(SUM(qte_m)/100)*perte_pdt)*poids_u_f_pdt,4) as prix_u_f
FROM recette
INNER JOIN matiere ON recette.code_m=matiere.code_m
INNER JOIN produit ON recette.ref_pdt=produit.ref_pdt
WHERE produit.ref_pdt IN ($req)AND recette.fourrage_rctt=1)
+
(SELECT FORMAT(SUM(qte_emb*pu_emb)/nbre_piece_fab_main,4) AS test2
FROM recette_emb
LEFT JOIN emballage ON recette_emb.id_emb=emballage.id_emb
LEFT JOIN main_d_oeuvre ON recette_emb.ref_pdt = main_d_oeuvre.ref_pdt
LEFT JOIN produit ON produit.ref_pdt=recette_emb.ref_pdt
WHERE produit.ref_pdt IN ($req))
+
(SELECT FORMAT((nbre_per_main*nbre_heure_main*taux_hor_main)/nbre_piece_fab_main,4) AS pdr_m_o_u
FROM main_d_oeuvre
INNER JOIN produit ON main_d_oeuvre.ref_pdt=produit.ref_pdt
WHERE produit.ref_pdt IN ($req))
AS total
FROM produit
WHERE ref_pdt IN ($req);";
echo $requete;
while($ligne = mysql_fetch_assoc($query)){
echo '<br>';
echo '<b>1=> Ref_pdt : '.$ligne["ref_pdt"].'</b>';echo '<br>';
echo '<b>1=> Somme Matiere Premiere : '.$ligne["somme1"].'</b>';echo '<br>';
echo '<b>1=> Somme Fourrage : '.$ligne["somme2"].'</b>';echo '<br>';
echo '<b>1=> Somme Emballage : '.$ligne["somme3"].'</b>';echo '<br>';
echo '<b>1=> Somme Mains D oeuvre : '.$ligne["somme4"].'</b>';echo '<br>';
echo '<b>1=>Somme Total : '.$ligne["total"].'</b>';echo '<br>';
}
//while( $ligne2 = mysql_fetch_assoc($query2)){
// echo '<br>';
// echo '<b>2=>'.$ligne2["prix_u_f"].'</b>';
//}
?>
Pourriez vous me dire qu'est qui ne va pas ?
Je pense mettre tromper, je veut que sa soit de la manière suivante,
exemple je prend 2 produit (22 et 23), la requête se lance pour le produit 22, et affiche les informations, puis on passe au produit 23 etc...
(En faite un produit = une ligne)
Merci d'avance pour votre aide,
guigui69
Si quelqu'un aurait une petite aide pour moi sa serai la bienvenue.
Merci
guigui69
==================================
MAJ, j'arrive a avoir quelque chose si dans ma liste deroulante je sélection q'un produit j'arrive a avoir mon tableau, par contre si j'en sélectionne 2 il me sort ERREUR.
Voici le code de ma page php:
[code]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr">
<head>
<?php
$matricule = $_POST['matricule'];
//$matricule = 23;
print("<center>$matricule</center>");
$server="******";
$user="*****";
$pass="*****";
$db="pdr";
mysql_connect($server,$user,$pass) or die('erreur de connexion');
mysql_select_db($db) or die ('impossible de se connecter a la base');
$listeMatriculeSQL = array();
foreach ($_POST['matricule'] as $matricule) {
$listeMatriculeSQL[] = '\'' . mysql_real_escape_string($matricule) . '\'';
}
$req = implode(', ', $listeMatriculeSQL);
echo $req;
$requete = "SELECT
ref_pdt,
(SELECT FORMAT(SUM(qte_m*pu_m)/(SUM(qte_m)-(SUM(qte_m)/100)*perte_pdt)*poids_u_m_pdt,4) as prix_u_m
FROM recette
INNER JOIN matiere ON recette.code_m=matiere.code_m
INNER JOIN produit ON recette.ref_pdt=produit.ref_pdt
WHERE produit.ref_pdt IN ($req)AND recette.fourrage_rctt=0)
AS somme1,
(SELECT FORMAT(SUM(qte_m*pu_m)/(SUM(qte_m)-(SUM(qte_m)/100)*perte_pdt)*poids_u_f_pdt,4) as prix_u_f
FROM recette
INNER JOIN matiere ON recette.code_m=matiere.code_m
INNER JOIN produit ON recette.ref_pdt=produit.ref_pdt
WHERE produit.ref_pdt IN ($req)AND recette.fourrage_rctt=1)
AS somme2,
(SELECT FORMAT(SUM(qte_emb*pu_emb)/nbre_piece_fab_main,4) AS test2
FROM recette_emb
LEFT JOIN emballage ON recette_emb.id_emb=emballage.id_emb
LEFT JOIN main_d_oeuvre ON recette_emb.ref_pdt = main_d_oeuvre.ref_pdt
LEFT JOIN produit ON produit.ref_pdt=recette_emb.ref_pdt
WHERE produit.ref_pdt IN ($req))
AS somme3,
(SELECT FORMAT((nbre_per_main*nbre_heure_main*taux_hor_main)/nbre_piece_fab_main,4) AS pdr_m_o_u
FROM main_d_oeuvre
INNER JOIN produit ON main_d_oeuvre.ref_pdt=produit.ref_pdt
WHERE produit.ref_pdt IN ($req))
AS somme4,
(SELECT FORMAT(SUM(qte_m*pu_m)/(SUM(qte_m)-(SUM(qte_m)/100)*perte_pdt)*poids_u_m_pdt,4) as prix_u_m
FROM recette
INNER JOIN matiere ON recette.code_m=matiere.code_m
INNER JOIN produit ON recette.ref_pdt=produit.ref_pdt
WHERE produit.ref_pdt IN ($req)AND recette.fourrage_rctt=0)
+
(SELECT FORMAT(SUM(qte_m*pu_m)/(SUM(qte_m)-(SUM(qte_m)/100)*perte_pdt)*poids_u_f_pdt,4) as prix_u_f
FROM recette
INNER JOIN matiere ON recette.code_m=matiere.code_m
INNER JOIN produit ON recette.ref_pdt=produit.ref_pdt
WHERE produit.ref_pdt IN ($req)AND recette.fourrage_rctt=1)
+
(SELECT FORMAT(SUM(qte_emb*pu_emb)/nbre_piece_fab_main,4) AS test2
FROM recette_emb
LEFT JOIN emballage ON recette_emb.id_emb=emballage.id_emb
LEFT JOIN main_d_oeuvre ON recette_emb.ref_pdt = main_d_oeuvre.ref_pdt
LEFT JOIN produit ON produit.ref_pdt=recette_emb.ref_pdt
WHERE produit.ref_pdt IN ($req))
+
(SELECT FORMAT((nbre_per_main*nbre_heure_main*taux_hor_main)/nbre_piece_fab_main,4) AS pdr_m_o_u
FROM main_d_oeuvre
INNER JOIN produit ON main_d_oeuvre.ref_pdt=produit.ref_pdt
WHERE produit.ref_pdt IN ($req))
AS total
FROM produit
WHERE ref_pdt IN ($req);";
echo $requete;
while($ligne = mysql_fetch_assoc($query)){
echo '<br>';
echo '<b>1=> Ref_pdt : '.$ligne["ref_pdt"].'</b>';echo '<br>';
echo '<b>1=> Somme Matiere Premiere : '.$ligne["somme1"].'</b>';echo '<br>';
echo '<b>1=> Somme Fourrage : '.$ligne["somme2"].'</b>';echo '<br>';
echo '<b>1=> Somme Emballage : '.$ligne["somme3"].'</b>';echo '<br>';
echo '<b>1=> Somme Mains D oeuvre : '.$ligne["somme4"].'</b>';echo '<br>';
echo '<b>1=>Somme Total : '.$ligne["total"].'</b>';echo '<br>';
}
//while( $ligne2 = mysql_fetch_assoc($query2)){
// echo '<br>';
// echo '<b>2=>'.$ligne2["prix_u_f"].'</b>';
//}
?>
[/code]
Pourriez vous me dire qu'est qui ne va pas ?
Je pense mettre tromper, je veut que sa soit de la manière suivante,
exemple je prend 2 produit (22 et 23), la requête se lance pour le produit 22, et affiche les informations, puis on passe au produit 23 etc...
(En faite un produit = une ligne)
Merci d'avance pour votre aide,
guigui69