Bonjour à tous,
Je suis débutante en php,je rencontre un problème dans une page. ça risque d'être ennuyeux mes explications...
Cette page contient le caddie d'une boutique = tous les CD selectionnés
par l'internaute, ainsi que le total de la commande (tva + frais de transport + frais de transport suplémentaires/CD).
Cette liste de CD peut encore être modifiée. Tous les CD sont à 16.52 HT (exceptés 3 CD à 18.85 euros).
On compte un tarif de frais de transport de 2.25 euros
et un tarif de frais de transport suplémentaire (1.5 euros par CD en plus).
Par exemple, on veut acheter :
1 CD > Prix du CD (16.52 euros HT) + TVA (3.23 euros)
+ frais de transport (2.25 euros)
= 22 euros ttc.
2 CD > Prix du CD (16.52 euros HT)x2 + TVA (6.46 euros)
+ frais de transport (2.25 euros)
+ frais suplémentaire (1.5euros)
= 43.25 euros ttc.
3 CD > Prix du CD (16.52 euros HT)x3 + TVA (9.69 euros)
+ frais de transport (2.25 euros)
+ frais suplémentaire (3 euros)
= 64.50 euros ttc.
Le tarif du frais de transport change les trois CD à 18.85 euros (dont le poids est plus lourd),il est de 3.45 euros.
Exemple pour l'achat d'un de ces CD :
1 CD > Prix du CD (18.85 euros HT) + TVA (3.69 euros)
+ frais de transport (3.45 euros)
= 25.99 euros ttc.
2 CD > Prix du CD (18.85 euros HT)x2 + TVA (7.38 euros)
+ frais de transport (3.45 euros)
+ frais suplémentaire (1.5euros)
= 50.03 euros ttc.
Etc...
J'utilise donc la fonction foreach et une condition pour calculer $frais (frais de transport).
$valeur 4 19 20 correspond à l'id de chacun des trois CD à 18.85 HT.
//// (connexion à ma base)
foreach ($panier as $valeur=>$cde)
{
$sql="select * from cd where id='$valeur'";
$fraisnb=2.25;
if ($valeur==4 OR $valeur==19 OR $valeur==20)
{$fraisnb=3.45;
}
$frais=$fraisnb;
}
Je ne rencontre aucun problème si l'internaute ne selectionne que des CD à 16.52 HT,
le frais de transport sera toujours ici de 2.25 euros.
Ensuite, s'il selectionne un des trois CD à 18.85 HT, 3.45 euros de frais de transport s'affiche correctement.
Mais voilà le gros problème: si après ça l'internaute reselectionnes un CD à 16.52 HT, le frais de transport revient à
2.25 euros. La fonction foreach n'analyse que la dernière ligne et je voudrais que $frais soit égal à 3.45 si dans le caddie
est selectionné au moins un des trois CD à 18.85 euros HT.
Avez-vous une piste ??? Dois-je utiliser une autre fonction que foreach??
Merci de votre attention!