Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> jak zrobić kody rabatowe
sliwa15530
post 20.11.2013, 14:17:57
Post #1





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

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


Witam ,właśnie próbuje zrobić swój pierwszy sklep internetowy, mam taki problem że nie wiem za bardzo jak zaprogramować jedna rzecz mianowicie chodzi mi o zniżki dla klientów w niektórych portalach stali klienci dostaja kody rabatowe, czy ktoś ma pomysł jak to powinno wyglądać ,np tabela kody umieszczona w bazie danych powiazana relacją jeden do jednego z klientami??
Go to the top of the page
+Quote Post
Sephirus
post 20.11.2013, 15:11:28
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Jeśli to kody to po co relacja?

Zasada działania takich kodów to:

1. generujesz kod i wrzucasz go do bazy ze statusem "niewykorzystany" (możesz dać też datę ważności)
2. dajesz komuś kod
3. ktoś ma kod i wpisuje go przy zamówieniu - sprawdzasz czy masz w bazie taki kod, ze statusem niewykorzystany i nie upłynięto datą ważności - jeśli jest taki to go zużywasz i zaznaczasz jako "użyty"

Koniec...

Po co tu jakieś relacje?


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
sliwa15530
post 20.11.2013, 21:18:39
Post #3





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

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


No ok , ale może być w bazie tabela nie powiązana z żadną inna tabelą questionmark.gif? i czy potym jak juz kod jest z uzyty wyrzucac go z bazy questionmark.gif? co z nim dalej robić i czy jest jakiś popularny sposób generowania tych kodów?? z góry dzięki smile.gif
Go to the top of the page
+Quote Post
vermis
post 21.11.2013, 00:04:46
Post #4





Grupa: Zarejestrowani
Postów: 279
Pomógł: 56
Dołączył: 3.06.2010
Skąd: Tarnowskie Góry

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


Cytat(sliwa15530 @ 20.11.2013, 21:18:39 ) *
No ok , ale może być w bazie tabela nie powiązana z żadną inna tabelą ?


Może być. W końcu w bazie może być tylko jedna tabela, więc nie ma z czym ją powiązać.

Najlepiej zmień status kodu na wykorzystany, zachowaj datę użycia oraz powiązanie z zamówieniem dla którego został użyty.


--------------------
Go to the top of the page
+Quote Post
fizzlebubble
post 21.11.2013, 11:59:32
Post #5





Grupa: Zarejestrowani
Postów: 272
Pomógł: 28
Dołączył: 13.02.2011

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


Podłączę się do wątku. Czy przy uwzględnieniu np rabatu ceny warto w osobnej kolumnie kodów dodać wartość "procentową", np. 20 i od wartość zamówienia odjąć te 20% i w tabeli zamówień dla poszczególnego zamówienia zamieścić informację, że został użyty rabat? Może by tutaj dać relację zamówienie - kod? :-)


--------------------
Nie obrażę się, jeśli za udzieloną pomoc odwdzięczysz się klikając w "Pomógł" :).
Go to the top of the page
+Quote Post
Sephirus
post 21.11.2013, 12:50:42
Post #6





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


@up Jak najbardziej tak - o to w tym chodzi. Kod z określeniem swojego działania (kwoty lub procentu rabatu) jak najbardziej powinien być tak zapisywany i może być powiązany z zamówieniem - powinien nawet.

@autor Jeśli chodzi o generację takich kodów - to zależy od Ciebie bo opcji jest meeeega wiele.

Mogą to być kody w stylu:

1. Jakieś słowa

kodzik, kodzik2, kodzik3, tygrys, komputer - cokolwiek...

Nie sprawdzi się to jednak bo można próbowac te kody odgadnąć...

2. Liczby (mój wybór)

proste kody na zasadzie:

12345/78965 lub 13/9876543 itp...

Generacja jest dość prosta dla kodu o przykładowym szablonie CCCC/CCCCC:

  1. $code = mt_rand(1000,9999) . '/' . mt_rand(10000,99999);


należy pamiętać tylko, że kod może się powtórzyć.

3. Kilka literek/znaków:

abc13kjer, 1koin4bjk itp...

generacja:

  1. $letters = 'qwertyuiopasdfghjklzxcvbnm1234567890';
  2. $lettersArray = str_split($letters);
  3. $lettersCount = strlen($letters);
  4.  
  5. $code = '';
  6.  
  7. for($i = 0; $i < 8; $i++) { // przykład dla 8 literek/znaków
  8. $code .= $lettersArray[mt_rand(0,$lettersCount-1)];
  9. }


także trzeba pamiętać o powtórzeniach.

4. wykorzystanie funkcji skrótu i tym podobnych

wykorzystanie MD5, SHA1 i podawanie kodów w całości lub jakiejś ich części.

Do wyboru do koloru smile.gif


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
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: 25.04.2025 - 08:27