Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dziwna forma licytacji...
Forum PHP.pl > Forum > PHP
Tarcil
Witam

Dostałem zadanie stworzenia strony, i nie wiem, jak w ogóle do tego podejść.

Ma to działać tak:
1. Do bazy danych administrator wprowadza produkty, podaje cenę minimalną, za jaką jest gotów sprzedać towar oraz maksymalną - jaką chciałby osiągnąć (to umiem smile.gif )
2. Na stronie głównej wyświetlane są pokolei produkty - nigdy więcej niż jeden na raz (ewentualnie informacja: poprzedni/następny). Rozpoczyna się odliczanie: powiedzmy prezentacja produktu trwa 1 godzinę, cena maksymalna to 1000 zł, a minimalna 800 zł.
3. Widok produktu pokazuje jakiś obrazek, opis produktu, ceny minimalną i maksymalną i zegar. Zegar odlicza do zera czas trwania oferty produktu. Jeśli dojdzie do zera - prezentacja się kończy i nikt nie kupuje danej rzeczy.
4. Co np. 4 minuty skrypt odlicza z ceny produktu jakąś kwotę (wyliczoną na podstawie czasu trwania i różnicy cen), w tym wypadku byłaby to kwota 1/15 * 200 = 13,50zł.
5. Użytkownicy przeglądający stronę mogą zgłosić w każdej chwili chęć kupienia produktu. Zgłoszenie chęci kończy prezentację, a ten, kto kliknął "Chcę to" kupuje za cenę, do której doliczył system...

Generalnie całą otoczkę (użytkownicy, rejestracja, logowanie, panel admina, panel usera, historię zakupów itd itd) potrafię zrobić. Nie mam pojęcia jak zrealizować ten zegar, żeby on odliczał rzeczywisty czas tak, żeby użytkownik nie musiał odświeżać strony i żeby wszystko na bieżąco było wyświetlane u każdego usera (np to, że ktoś już sobie zaklepał produkt)...

Mogę prosić o pomoc??
bomblix
AJAX, robisz w js licznik ktory co 4 minuty zmienia cene cena zapisuje sie w bazie danych i jak ktos zamawia to juz zamawia ta obliczoną, oczywiscie czas do konca tez powinien byc przechowywany w bazie.
pyro
Cytat(Tarcil @ 19.01.2009, 19:16:57 ) *
Dostałem zadanie stworzenia strony, i nie wiem, jak w ogóle do tego podejść.
no comments... Jak ja kocham takie wypowiedzi -> "Dostałem zlecenie ale nie mam pojęcia jak je zrobić". Nie wiesz, to nie rób!
Tarcil
Wybacz... każdy ma prawo czegoś nie wiedzieć i próbować się dowiedzieć. Pomijam już to, że gdyby ludzkość uciekała przed wyzwaniami nauczenia się czegoś do dalej latalibyśmy z maczugami za mamutami... o ile w ogóle... więc, proszę, nie obrażaj ludzi, którzy nie udają, że wszystko wiedzą, i jasno się przyznają do tego, chcąc swoją wiedzę poszerzać. No chyba, że pan (pani?) pyro nie chce się w żaden sposób dzielić z mniej doświadczonymi swoim kawałkiem chleba... ale wtedy po co w ogóle na tym forum być?

Pozdrawiam.

Bomblix - dziękuję bardzo... obawiałem się, że to Ajax... jakoś się nie bardzo do zapoznania z tym mogę zabrać, przyjdzie więc przekierować gdzie indziej tą stronę... Dzięki smile.gif
pyro
Cytat(Tarcil @ 19.01.2009, 20:07:32 ) *
Wybacz... każdy ma prawo czegoś nie wiedzieć i próbować się dowiedzieć. Pomijam już to, że gdyby ludzkość uciekała przed wyzwaniami nauczenia się czegoś do dalej latalibyśmy z maczugami za mamutami... o ile w ogóle... więc, proszę, nie obrażaj ludzi, którzy nie udają, że wszystko wiedzą, i jasno się przyznają do tego, chcąc swoją wiedzę poszerzać. No chyba, że pan (pani?) pyro nie chce się w żaden sposób dzielić z mniej doświadczonymi swoim kawałkiem chleba... ale wtedy po co w ogóle na tym forum być?

Pozdrawiam.

Bomblix - dziękuję bardzo... obawiałem się, że to Ajax... jakoś się nie bardzo do zapoznania z tym mogę zabrać, przyjdzie więc przekierować gdzie indziej tą stronę... Dzięki smile.gif


Nie chodziło mi o to, że ktoś czegoś nie wie. Zajrzyj w moje posty, chętnie pomagam nawet przy głupich pytaniach. Bardziej chodziło mi o to, że ktoś się czegoś podejmuje, nie mając pojęcia jak się za to wziąć, wtedy zamiast się czegoś podejmować trzeba się więcej poduczyć. 


Widzę, że kolega wyżej Ci już odpowiedział, więc nie będę rozwijał jego wypowiedzi, skoro to Ci wystarcza.

ps. W którym miejscu ja wd. Ciebie kogoś obraziłem?

@EDIT, DOWN

W takim razie oznajmuję, że nie miałem jakichkolwiek obraźliwych intencji. smile.gif
Tarcil
Witaj

Cóż, źle widać zrozumiałem intencje... zlecenie dostałem, ael się nie podjąłem... dlatego tu piszę, bo nie wiem, czy jestem w stanie to zrobić. Wyszło na to, że nie, trzeba się douczyć - zgadzam się z Tobą w tym momencie - nie można się podejmować rzeczy, których się nie potrafi. Może ja niepotrzebnie użyłem wyrażenia "dostałem zlecenie", może Ty poszedłeś krok za daleko. Coś zawiniło. Proponuję rozejm.

Re: ps.: Odebrałem Twój post jako obraźliwy, stąd moja reakcja i moje słowa.
Crozin
Cytat
AJAX, robisz w js licznik ktory co 4 minuty zmienia cene cena zapisuje sie w bazie danych i jak ktos zamawia to juz zamawia ta obliczoną, oczywiscie czas do konca tez powinien byc przechowywany w bazie.
Ale po co do tego pchać AJAX?
  1. Tworzysz wersję statyczną - czyli PHP i HTML.
    1. Wyświetlasz dane o przedmiocie (nazwa/obraz/czas pozostaly do konca licytacji/aktualna cene)
    2. Dajesz dwa przyciski - odśwież, chce to
    3. Po kliknięciu odśwież wracasz do pkt 1 - czyli jedynie odświeżasz stronę
    4. Po kliknięciu chce to sprawdzasz czy w ogóle jeszcze można zamawiać, obliczasz aktualną cenę. Dajesz jescze przycisk "potwierdzam" i tyle
  2. Teraz dopiero bierzesz się za jakikolwiek JS
    1. Odliczanie od jakiejś tam ilości sekund do zera? window.setInterval('blahBlah()', 1e3);
    2. Ustalanie aktualnej ceny? Przy co n-tym wywołaniu blahBlah() obliczasz cenę dokładnie w taki sam sposób jak w PHP


A jeżeli chcesz sprawdzić czy ktoś już nie zamówił - wtedy możesz skorzystać z AJAXa. Dajesz jakąś funkcję, która w interwałach np. na poczatku 2 minutowych, pod koniec 30-10 sekundowych odpytuje serwer jedynie o prostą informację czy nadal aktualne (zwracane wartości: 1, 0)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.