![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%)
|
Witam.
Przy tworzeniu aplikacji internetowych często spotykamy się (przynajmniej ja) z cenami za różne towary/usługi. Czasmin jest wszystko jasne - jedna cena za jeden produkt, a czasmi wprost przeciwnie. Zróbmy to na przykładzie: Firma transportu cieżarówkami. System do kontorli ile zarobimy i tutaj: - od jednej firmy mamy liczone za kilometry (np. 2,95zł/km - w innej firmie koszt jest zryczałtowany (np. 0-100km 700zł itp) - w jeszcze innej jest to koszt czasowy (np. za 1h/150zł) - w kolejnej jest to opłata za wagę (np. 50zł/t) - w następnej jest to ryczałt za wagę itp...... I teraz tak: jak stworzyć tabelę cennika, jak to zastosować w aplikacji? Jako, że ceny mogą być zmieniane co miesiąc/tydzień/dzień także, tabela cennika musi słyżyć tylko do jednorazowego obliczenia ceny i wynik ten powinien być zapisany w bazie na stałe, w taki sposób aby po zmianie cennika naliczone ceny pozostały po "staremu". Do tego jeszcze dochodzi stworzenie w miarę łatwej dla użytkownika (bez ingerencji programisty) zmiany cen. Chodzi mi tutaj o Wasze doświadczenie w tej kwestii. |
|
|
|
Post
#2
|
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%)
|
W takim przypadku z jednego typu ceny nie wyjdziesz musisz te wszystkie kryteria uwzglednic i najlpiej na bazie funkcyjki ktore Ci teo obliczenia robia. Co do zmiany ceny to podobnie funkcja ktora zmienia cene w zaleznosci jakie ip podajesz.
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 172 Pomógł: 0 Dołączył: 22.09.2002 Skąd: Gorzów Wlkp Ostrzeżenie: (0%)
|
Hej.
Najłatwiej to zrobić na zasadzie wartości i jednostki rozliczeniowej - i rozbic to wszystko na osobne tabele, polaczyc odpowiednio relacjami i po sprawie. Na przykład jesli mamy stale ceny dla wszystkich klientow, a rozne formy rozliczania sie moze to wygladac mniej wiecej tak: Cena w zaleznosci od sposobu rozliczenia: Kod ID | JednostkaRozliczeniowa | Cena | ------------------------------------------- 1 | 1 | 100 | ------------------------------------------- 2 | 2 | 300 | ------------------------------------------- Sposoby rozliczen Kod ID | NazwaJednostkiRozliczeniowej | ------------------------------------------- 1 | Cena za godzinę pracy | ------------------------------------------- 2 | Cena za 150 km | ------------------------------------------- Rozliczenia: Tutaj bardziej zlozona tabela, gdzie trzymasz date transakcji i wyliczona na podstawie powyzszych tabel kwote calosciowa - to oszczedzi Ci problemu, ze zmiana ceny wplynie na odbyte transakcje - a z tabeli transakcji bedziesz mogl wyliczyc na wybrana data jaka byla cena - bo mozesz sobie do takiej tabeli wrzucac np. ilosc zakupionych jednostek co da: ilość jednostek * aktualnie pobrana cena za dana jednostke - wystarczy jedno podzielic przed drugie i masz cene jednostki na jakas tam date. To moze posluzyc jak bedzie trzeba w przyszlosci wykorzystac te dane w jakiej hurtowni, lub systemie raportowym. Do tabeli transakcji mozesz oczywiscie dorzucic mnostwo innych danych, jak id klienta, opis, date rozpoczecia, date ukonczenia, zuzyte zasoby, itd. Jezeli ceny sa indywidualne dla kazdego klienta to do pierwszej tabelki dorzuc kolumne id klienta i wprowadzaj ceny dla poszczegolnych osob, firm, itd. co do prezentacji - to mozna to zrobic na multum sposobow. Napewno ciezko by bylo to ubrac w cos gotowego, raczej bedzie trzeba zaprojektowac cos indywidualnego w zaleznosci od rozwiazania i miejsca zastosowania. pozdrawiam anas |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 656 Pomógł: 3 Dołączył: 26.10.2005 Skąd: Częstochowa Ostrzeżenie: (0%)
|
jeśli dobrze zrozumiałem to wydaje mi sie zastosowanie takie projektu, że poprostu w MySQl każdy wiersz jest dla jednego cennika i potem w komórce zapisać dane w tablicy: tab[1]='';tab[1]='';tab[1]=''; i pote wczytać je za pomocą fukcji EVAL i wyświetlić
Jeśli dobrze zrozumiałem (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
|
![]() ![]() |
|
Aktualny czas: 22.12.2025 - 23:34 |