Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Wyświetlanie ceny w promocji oraz regularnej
YacaZG
post 5.08.2018, 10:19:27
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 1.09.2016

Ostrzeżenie: (0%)
-----


Cześć,

prawie nie znam się na php, ale staram się coś rzeźbić i mam taki problem. Kod poniżej ma wyświetlić cenę regularną produktu i cenę promocyjną.

  1. <?php
  2. $a = types_render_field('cena-w-promocji');
  3. $b = types_render_field('cena');
  4. if( $a < $b){
  5. echo "<span class='w-promocji'>Cena regularna $b </span>";
  6. echo "<span class='bez-promocji'>Cena w promocji $a </span>";
  7. }
  8. if(empty($a)) {
  9. echo "<span class='bez-promocji'>Cena regularnax $b </span>";
  10. }
  11. ?>



Za wyświetlanie ceny promocyjnej (gdy ta jest podana) i regularnej odpowiedzialne jest

  1. echo "<span class='w-promocji'>Cena regularna $b </span>";
  2. echo "<span class='bez-promocji'>Cena w promocji $a </span>";


Jeśli jednak nie ma podanej ceny promocyjnej (pole jest puste), powinien tylko wyświetli cenę regularną

  1. echo "<span class='bez-promocji'>Cena regularnax $b </span>";


i to działa.
Niestety oprócz ceny regularnej pokazuje się również to

  1. echo "<span class='w-promocji'>Cena regularna $b </span>";
  2. echo "<span class='bez-promocji'>Cena w promocji $a </span>";


i nie mam pojęcia co z tym zrobić. Chodzi mi o to, że jeśli zmiana $a jest pusta, to kod
  1. echo "<span class='w-promocji'>Cena regularna $b </span>";
  2. echo "<span class='bez-promocji'>Cena w promocji $a </span>";


w ogóle nie powinien pojawiać się na stronie. Czy ktoś może mi podpowiedzieć, co robię źle?
Go to the top of the page
+Quote Post
b4rt3kk
post 7.08.2018, 01:26:08
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


NIe wiem co tam ta Twoja funkcja zwraca, ale ja bym zmienił na else.

  1. if( $a < $b){
  2. echo "<span class='w-promocji'>Cena regularna $b </span>";
  3. echo "<span class='bez-promocji'>Cena w promocji $a </span>";
  4. } else {
  5. echo "<span class='bez-promocji'>Cena regularnax $b </span>";
  6. }


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
leonpro778
post 7.08.2018, 11:28:19
Post #3





Grupa: Zarejestrowani
Postów: 146
Pomógł: 19
Dołączył: 1.03.2012

Ostrzeżenie: (0%)
-----


Ja bym zaczął od nazwania tych zmiennych jakoś poprawnie ponieważ:
  1. ?php
  2. $a = types_render_field('cena-w-promocji'); // cena w promocji
  3. $b = types_render_field('cena'); // cena bez promocji



I dalej:
  1. if( $a < $b){
  2. echo "<span class='w-promocji'>Cena regularna $b </span>"; // WTF?? class='w-promocji' a dalej regularna
  3. echo "<span class='bez-promocji'>Cena w promocji $a </span>";
  4. }


A co do problemu to trzeba zerknąć co robi Twoja funkcja types_render_field() (obstawiam, że formatuje wyświetlanie ceny i zwraca jakiegoś "niepustego stringa").
Go to the top of the page
+Quote Post
YacaZG
post 10.08.2018, 20:50:28
Post #4





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 1.09.2016

Ostrzeżenie: (0%)
-----


Dzięki za podpowiedzi.
Udało mi się to przygotować i działa tak jak powinno

  1.  
  2. <?php
  3. $a = types_render_field('cena-w-promocji');
  4. $b = types_render_field('cena');
  5. $c = 0;
  6.  
  7. if ( $a < $b && $a > $c ) {
  8.  
  9. echo "<span class='w-promocji'>Cena regularna $b </span>";
  10. echo "<span class='bez-promocji'>Cena w promocji $a </span>";
  11. }
  12.  
  13. else {
  14. echo "<span class='bez-promocji'>Cena regularna $b </span>";
  15. }
  16. ?>
  17.  


Rzeczywiście klasy niefortunnie nazwałem, ale tak poza tym to skłądnia jest ok?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.04.2024 - 21:05