bonjour
je suis en train de faire des requetes sur plusieurs tables, mais G quelques difficultés
je vais essayer de vous expliquer :
1 - G une page ou l'utilisateur va laisser C coordonnées et la dedans il va selectionner un pays .
2 - pays etant une table avec comme champs pays_id |nom_pays | livraison_id
3 - livraison_id est un numero qui doit etre egal au champ livraison_id de la table livraison
4 - la table livraison comporte egalement le champ normal , ce sont des coeficients selon la zone de livraison
5 - une precision : lorsque l'utisateur va commander un article, chaque article a egalement un prix de livraison de base (dans la table articles le champ prix_livraison $query)
un exemple
si l'utilisateur souhaite se faire livrer le meuble alpha au japon
ca lui coutera (prix_livraison)*coef du pays (champ 'normal' de la table livraison dont livraison_id=livraison_id de la table pays
mais mon probleme C qu'il va non pas chercher un champ normal dans la table livraison mais dans la table pays (j'ai fait des tests, si je mets un champ normal dans cette table ca marche mais ce n'est pas ce que je veux ...
voici le code de ma fonction qui permet de faire ce calcul :
Code :
- function calculer_livraison($caddy,$id_pays,$selection_pays)
- {
- //
- $prix = 0.0;
- if(is_array($caddy))
- {
- $conn = db_connect();
- foreach($caddy as $ref => $quantite)
- {
- //recherche de l'identifiant du pays
- $req_pays="select livraison_id from pays where pays_id='$id_pays'";
- $resultat_pays = mysql_query($req_pays) or die('Erreur SQL : '.mysql_error());
- $row = mysql_fetch_row($resultat_pays);
- //print_r($row);
- $selection_pays = $row[0];
- $req_liv_norm="select normal from livraison where livraison_id='$selection_pays'";
- $resultat_liv_norm = mysql_query($req_liv_norm) or die('Erreur SQL : '.mysql_error());
- $row_normal = mysql_fetch_row($resultat_liv_norm);
- $coef_normal = $row_normal[0];
- $query = "select prix_livraison from articles where ref='$ref'";
- $result = mysql_query($query);
- if ($result)
- {
- $prix_livraison = mysql_result($result, 0, 'prix_livraison');
- $prix_pays =$prix_livraison*$coef_normal;
- }
- }
- return $prix;
- }
|
merci infiniment de votre aide
Message édité par attentio le 24-03-2005 à 21:10:26
---------------
L'ordinateur a de la mémoire mais aucun souvenir ...