Problème variable en PHP
Résolu/Fermé
Chris2009
-
8 janv. 2009 à 19:40
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 - 8 janv. 2009 à 21:53
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 - 8 janv. 2009 à 21:53
A voir également:
- Problème variable en PHP
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ✓ - Forum Python
8 réponses
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
8 janv. 2009 à 21:20
8 janv. 2009 à 21:20
Ok, je comprends mieux.
La solution :
Pourquoi?
Parce qu'en fait, ce qui est stocké dans la base de donnée ($special_result['products_price']), c'est le prix de vente. C'est à dire le prix auquel l'article va être vendu :
- s'il n'y a pas de réduc, c'est le prix de base
- s'il y a une réduc, c'est le prix soldé
Ensuite, pour obtenir le prix originel, il faut rajouter à ce prix la valeur de la démarque/
Cordialement,
La solution :
... } else { $discount_price = $price; $regular_price = tep_add_tax($special_result['specials_new_products_price'], tep_get_tax_rate($special_result['products_tax_class_id'])); $reduc = true; } ...
Pourquoi?
Parce qu'en fait, ce qui est stocké dans la base de donnée ($special_result['products_price']), c'est le prix de vente. C'est à dire le prix auquel l'article va être vendu :
- s'il n'y a pas de réduc, c'est le prix de base
- s'il y a une réduc, c'est le prix soldé
Ensuite, pour obtenir le prix originel, il faut rajouter à ce prix la valeur de la démarque/
Cordialement,
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
8 janv. 2009 à 19:44
8 janv. 2009 à 19:44
Bonsoir,
Oui. Si une réduc existe, le seul prix qui change est le prix discount apparemment.
Cordialement,
Oui. Si une réduc existe, le seul prix qui change est le prix discount apparemment.
Cordialement,
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
>
Chris2009
8 janv. 2009 à 20:01
8 janv. 2009 à 20:01
Et bien, si ton prix est barré alors qu'il n'y a pas de réduction (ce qui est un peu bizarre tu m'avoueras), d'après le peu de code qu'on a, je serais enclin à répondre OUI à ta question.
Cordialement,
Cordialement,
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
>
Chris2009
8 janv. 2009 à 20:17
8 janv. 2009 à 20:17
Effectivement, ça n'a pas l'air d'être bon.
Cependant, avec le code que tu nous montres, on ne peut pas déterminer d'où vient le problème, ce n'est pas suffisant.
Cordialement,
Cependant, avec le code que tu nous montres, on ne peut pas déterminer d'où vient le problème, ce n'est pas suffisant.
Cordialement,
chris-2009
Messages postés
256
Date d'inscription
jeudi 8 janvier 2009
Statut
Membre
Dernière intervention
6 avril 2009
7
8 janv. 2009 à 20:26
8 janv. 2009 à 20:26
Effectivement, je viens de voir que les quelques lignes au dessus vont avec ce code :
$special_query = tep_db_query("SELECT specials_new_products_price , expires_date , specials_date_added FROM " . TABLE_SPECIALS . " WHERE products_id = " . $products['products_id'] . " AND status = '1' limit 1");
$special_result = tep_db_fetch_array($special_query);
if ($special_result['specials_new_products_price'] > 0) $products['products_price'] = $special_result['specials_new_products_price'];
$product_num++;
//calcul des prix
// la variable $reduc permet de tester s'il y a une promo
$price = tep_add_tax($products['products_price'], tep_get_tax_rate($products['products_tax_class_id']));
if($special_result['specials_new_products_price'] == '' ) {
$discount_price = '' ;
$regular_price = $price;
$reduc = false;
} else {
// $discount_price = $special_result['specials_new_products_price'];
$discount_price = tep_add_tax($special_result['specials_new_products_price'], tep_get_tax_rate($special_result['products_tax_class_id']));
// $price = tep_add_tax($products['products_price'], tep_get_tax_rate($products['products_tax_class_id']));
$regular_price = $price;
$reduc = true;
}
Ps: je viens de m'enregistrer, c'est pour ça la petite différence de pseudo
$special_query = tep_db_query("SELECT specials_new_products_price , expires_date , specials_date_added FROM " . TABLE_SPECIALS . " WHERE products_id = " . $products['products_id'] . " AND status = '1' limit 1");
$special_result = tep_db_fetch_array($special_query);
if ($special_result['specials_new_products_price'] > 0) $products['products_price'] = $special_result['specials_new_products_price'];
$product_num++;
//calcul des prix
// la variable $reduc permet de tester s'il y a une promo
$price = tep_add_tax($products['products_price'], tep_get_tax_rate($products['products_tax_class_id']));
if($special_result['specials_new_products_price'] == '' ) {
$discount_price = '' ;
$regular_price = $price;
$reduc = false;
} else {
// $discount_price = $special_result['specials_new_products_price'];
$discount_price = tep_add_tax($special_result['specials_new_products_price'], tep_get_tax_rate($special_result['products_tax_class_id']));
// $price = tep_add_tax($products['products_price'], tep_get_tax_rate($products['products_tax_class_id']));
$regular_price = $price;
$reduc = true;
}
Ps: je viens de m'enregistrer, c'est pour ça la petite différence de pseudo
chris-2009
Messages postés
256
Date d'inscription
jeudi 8 janvier 2009
Statut
Membre
Dernière intervention
6 avril 2009
7
8 janv. 2009 à 20:30
8 janv. 2009 à 20:30
Et ci joint le code d'origine que j'ai modifié car la TVA n'était pas prise en compte sur les promo:
$special_query = tep_db_query("SELECT specials_new_products_price , expires_date , specials_date_added FROM " . TABLE_SPECIALS . " WHERE products_id = " . $products['products_id'] . " AND status = '1' limit 1");
$special_result = tep_db_fetch_array($special_query);
if ($special_result['specials_new_products_price'] > 0) $products['products_price'] = $special_result['specials_new_products_price'];
$product_num++;
//calcul des prix
// la varaible $reduc permet de tester s'il y a une promo
$price = tep_add_tax($products['products_price'], tep_get_tax_rate($products['products_tax_class_id']));
if($special_result['specials_new_products_price'] == '' ) {
$discount_price = '' ;
$regular_price = $price;
$reduc = false;
} else {
$discount_price = $special_result['specials_new_products_price'];
$regular_price = $price;
$reduc = true;
}
Si tu veux les fichiers complets, je peux aussi mais le problème vient de ces quelques lignes (enfin je pense)
$special_query = tep_db_query("SELECT specials_new_products_price , expires_date , specials_date_added FROM " . TABLE_SPECIALS . " WHERE products_id = " . $products['products_id'] . " AND status = '1' limit 1");
$special_result = tep_db_fetch_array($special_query);
if ($special_result['specials_new_products_price'] > 0) $products['products_price'] = $special_result['specials_new_products_price'];
$product_num++;
//calcul des prix
// la varaible $reduc permet de tester s'il y a une promo
$price = tep_add_tax($products['products_price'], tep_get_tax_rate($products['products_tax_class_id']));
if($special_result['specials_new_products_price'] == '' ) {
$discount_price = '' ;
$regular_price = $price;
$reduc = false;
} else {
$discount_price = $special_result['specials_new_products_price'];
$regular_price = $price;
$reduc = true;
}
Si tu veux les fichiers complets, je peux aussi mais le problème vient de ces quelques lignes (enfin je pense)
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
8 janv. 2009 à 20:40
8 janv. 2009 à 20:40
Et bien écoute, vu que $price n'est pas modifié lorsque tu as une réduction, et que dans tous les cas $regular_price = $price, je ne comprends pas.
Peut-être est-ce ta fonction $price = tep_add_tax($products['products_price'], tep_get_tax_rate($products['products_tax_class_id'])); qui fournit un mauvais résultat...
J'en doute, mais je ne vois que ça...
Cordialement,
Peut-être est-ce ta fonction $price = tep_add_tax($products['products_price'], tep_get_tax_rate($products['products_tax_class_id'])); qui fournit un mauvais résultat...
J'en doute, mais je ne vois que ça...
Cordialement,
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
chris-2009
Messages postés
256
Date d'inscription
jeudi 8 janvier 2009
Statut
Membre
Dernière intervention
6 avril 2009
7
8 janv. 2009 à 20:55
8 janv. 2009 à 20:55
En commentant cette ligne je me retrouve avec les prix inversés :
// if ($special_result['specials_new_products_price'] > 0) $products['products_price'] = $special_result['specials_new_products_price'];
Le prix barré devient le prix de vente
Le prix de vente devient le prix barré
J'ai l'impression d'avancer mais dans le désordre (amis Turfiste Bonjour)
// if ($special_result['specials_new_products_price'] > 0) $products['products_price'] = $special_result['specials_new_products_price'];
Le prix barré devient le prix de vente
Le prix de vente devient le prix barré
J'ai l'impression d'avancer mais dans le désordre (amis Turfiste Bonjour)
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
8 janv. 2009 à 21:05
8 janv. 2009 à 21:05
?
Je ne comprends pas... Le prix de vente et le prix barrés sont égaux, comment vois-tu qu'ils sont inversés ?
Je ne comprends pas... Le prix de vente et le prix barrés sont égaux, comment vois-tu qu'ils sont inversés ?
chris-2009
Messages postés
256
Date d'inscription
jeudi 8 janvier 2009
Statut
Membre
Dernière intervention
6 avril 2009
7
8 janv. 2009 à 21:14
8 janv. 2009 à 21:14
En commentant la ligne, j'arrive à avoir le prix Normal et le prix Promo mais pas dans les bonnes cases :
Case 1 = prix barré = 100€ qui devrait être prix de vente
Case 2 = prix de Vente = 80€ qui devrait être prix promo
J'en perds mes sens !!
Case 1 = prix barré = 100€ qui devrait être prix de vente
Case 2 = prix de Vente = 80€ qui devrait être prix promo
J'en perds mes sens !!
chris-2009
Messages postés
256
Date d'inscription
jeudi 8 janvier 2009
Statut
Membre
Dernière intervention
6 avril 2009
7
8 janv. 2009 à 21:37
8 janv. 2009 à 21:37
Je test et je te fait mon rapport LOL
chris-2009
Messages postés
256
Date d'inscription
jeudi 8 janvier 2009
Statut
Membre
Dernière intervention
6 avril 2009
7
8 janv. 2009 à 21:47
8 janv. 2009 à 21:47
Je te remercie beaucoup, je ne vois plus de BUG.
Si tu as du temps libre, j'ai plein de petite co.....eries qui pourrait animer tes soirées.
Encore Merci
Si tu as du temps libre, j'ai plein de petite co.....eries qui pourrait animer tes soirées.
Encore Merci
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
8 janv. 2009 à 21:53
8 janv. 2009 à 21:53
Euh...
Bah à l'occasion postes tes nouveaux problèmes sur le forum. Si ça me parle je répondrai.
Après des fois ça m'arrive aussi d'avoir des projets pour animer mes soirées ;)
A la prochaine,
Bah à l'occasion postes tes nouveaux problèmes sur le forum. Si ça me parle je répondrai.
Après des fois ça m'arrive aussi d'avoir des projets pour animer mes soirées ;)
A la prochaine,