Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 1 Dołączył: 26.08.2009 Skąd: Szczecin Ostrzeżenie: (10%)
|
Witam
Piszę skrypt będący czyms w rodzaju strony do rezerwacji pobytu w domku letniskowym. Chce jednak w tym skrypcie zbudowac cos w rodzaju interaktywnego kalendarza, przy pomocy którego będzie można wybrac wolną date (poczatek pobytu), zaznaczyc ją a potem wybrać kiedy ma sie skończyc pobyt. Zaznaczone by były rownież juz zajęte terminy i ich nie można by było wybrać. Tak naprawdę nie wiem jakim sposobem można to stworzyć. Na początku chcialem to zrobić przy pomocy zwyklej tabeli ale troche chyba za dużo pisania, a pozatym też ten pomysł ma pare luk. Dlatego mam nadzieje, że może ktoś będzie mial pomysl lub może cos takiego robił, żeby mi pomóc. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław |
Ty chcesz napisać klikalny kalendarzyk, czy procedury w php, które będą tym zarządzać?
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 1 Dołączył: 26.08.2009 Skąd: Szczecin Ostrzeżenie: (10%)
|
No dobre pytanie zadałeś. Ja myślalem o czyms w rodzaju formularza, ktory będzie przesyłał do bazy danych zaznaczone opcje. Potem je będzie wyświetlał. Ale jak jakaś inna propozycja to bardzo chętnie.
|
|
|
|
Post
#4
|
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław |
Zacznij od bazy danych.
Zaprojektuj dwie tablice: - Lokal - Rezerwacja będące w relacji 1 (Lokal) do wielu (Rezerwacja) W rezerwacji oczywiście musisz pamiętać o dwu polach timestamp - "Od", "Do" Gdy będziesz miał te tablice, pokaż co zrobiłeś i polecimy dalej. |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 1 Dołączył: 26.08.2009 Skąd: Szczecin Ostrzeżenie: (10%)
|
Ok. To się zabieram do roboty.
|
|
|
|
Post
#6
|
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
Zacznij od bazy danych. Zaprojektuj dwie tablice: - Lokal - Rezerwacja będące w relacji 1 (Lokal) do wielu (Rezerwacja) W rezerwacji oczywiście musisz pamiętać o dwu polach timestamp - "Od", "Do" Gdy będziesz miał te tablice, pokaż co zrobiłeś i polecimy dalej. Pozwolę sobie wskoczyć z offtopem: kurde, świetne podejście! Bardzo mi się podoba taka forma pomocy, w której mówi się człowiekowi co powinien po kolei zrobić aby osiągnąć swój cel. Może warto brać przykład ze ~scannera i również udzielać pomocy w tej formie? |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 1 Dołączył: 26.08.2009 Skąd: Szczecin Ostrzeżenie: (10%)
|
Dobra trochę czasu to zajęło ale udalo mi się stworzyc dwie bazy danych które są w zajemnej relacji:
Baza Domy: składa się z pola id i nazwa Baza Rezerwacje: składa się z: id login data od data do ilosc miejsc data rezerwacji uwagi id_domu. Może teraz ktoś mi pomoże z reszta bo też szukałem troche w tym czasie, żeby to samemu stworzyć ale niestety nic nie znalazłem. |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 403 Pomógł: 68 Dołączył: 20.03.2008 Ostrzeżenie: (0%)
|
Ok, to teraz możesz zaprojektować sobie formularz, z polami data przyjazdu i data wyjazdu (czyli rezerwacja od, do ). Możesz do kalendarza użyć tego pluginu do jquery: http://jqueryui.com/demos/datepicker/
|
|
|
|
Post
#9
|
|
|
Grupa: Moderatorzy Postów: 1 566 Pomógł: 37 Dołączył: 14.05.2003 Skąd: Kraków |
Pozwolę sobie wskoczyć z offtopem: kurde, świetne podejście! Bardzo mi się podoba taka forma pomocy, w której mówi się człowiekowi co powinien po kolei zrobić aby osiągnąć swój cel. Może warto brać przykład ze ~scannera i również udzielać pomocy w tej formie? Tu też brawa dla @sebap123 że nie chce pomocy typu "chce gotowca" tylko sam coś chce stworzyć własnymi siłami. To wyższy poziom niż Przedszkole, że trzeba gotowy kod dawać (IMG:style_emoticons/default/smile.gif) EOT. |
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 1 Dołączył: 26.08.2009 Skąd: Szczecin Ostrzeżenie: (10%)
|
No dobra. Dzieki za tego plugina. Tylko wiesz, gdybym wiedział jak to połączyć z php to bym tutaj nie pisał.
A tak to... To może cos mi byś raczyl podpowiedzieć? |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 403 Pomógł: 68 Dołączył: 20.03.2008 Ostrzeżenie: (0%)
|
mówisz i masz (IMG:style_emoticons/default/smile.gif) Zobacz plugin uzupełni ci pole tekstowe po kliknięciu submit to pole zostanie wysłane do skryptu php a tam musisz odebrać dane. Jeżeli używasz metody POST to kod będzie wyglądał mniej więcej tak:
a teraz jak użyć tego plugina: przeczytaj dokumentację, jest tam wszystko napisane jest również przykładowy kod źródłowy. Tak na szybko
|
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 1 Dołączył: 26.08.2009 Skąd: Szczecin Ostrzeżenie: (10%)
|
Dzięki wielkie, narazie.
Biore się do pracy. |
|
|
|
Post
#13
|
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław |
Do kalendarza to droga daleka.
IMO teraz powinieneś wrzucić do bazy jakieś lokale, i zacząć tworzyć rezerwacje, jak już będziesz umiał rezerwować lokale, musisz zacząć wprowadzać zabezpieczenia - czyli przygotować zapytania, które zweryfikują, czy dany lokal w podanym zakresie czasu nie jest przypadkiem zajęty. Do tego nie potrzebujesz kalendarzy, wystarczy php/sql i nieco testów. Jeśli teraz zaczniesz się użerać z htmlem/js i nie daj boże z kolorkami, to polegniesz - gwarantuję.
Powód edycji: [scanner]: [scanner]: [scanner]:
|
|
|
|
Post
#14
|
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 1 Dołączył: 26.08.2009 Skąd: Szczecin Ostrzeżenie: (10%)
|
No czyli narazie napisać sam skrypt (tak już uogólniam) a potem UI. Dobrze myśle?
I takie jeszcze uwagi: 1.@f1xer Dzięki za skrypt ale w tym projekcie bardziej mi chodzi o cos takiego, że sam uzytkownik wybiera daty na stałym kalendarzu. zaznacza dae startu i konca. Jest podzial na daty wolne i zajęte. Wiesz np. dwoma kolorami. 2. W tym skrypcie mam nieco ulatwiona wersję bo jest tylko jeden dom. W wersji finalnej chce dac co najmniej 5. Ale myślę, że mechanizmy stworzone dla jedego (z ip 1) będą takie same jak dla domu o ip np. 4. |
|
|
|
Post
#15
|
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 2.05.2007 Ostrzeżenie: (0%)
|
Do kalendarza to droga daleka. IMO teraz powinieneś wrzucić do bazy jakieś lokale, i zacząć tworzyć rezerwacje, jak już będziesz umiał rezerwować lokale, musisz zacząć wprowadzać zabezpieczenia - czyli przygotować zapytania, które zweryfikują, czy dany lokal w podanym zakresie czasu nie jest przypadkiem zajęty. Do tego nie potrzebujesz kalendarzy, wystarczy php/sql i nieco testów. Jeśli teraz zaczniesz się użerać z htmlem/js i nie daj boże z kolorkami, to polegniesz - gwarantuję. Witam mam podobny problem Tylko że u mnie chodzi o prostą rezerwację samochodów z panelu adm. Zrobiłem dwie tabele w bazie danych: auta: id_auta, model, opis wypozyczenia: id_wypozyczenia, id_auta, od, do if data od > teraz - rezerwacja if data od ≤ teraz ≤ - zajęte if data do < teraz - wolne dobrze kombinuję? jak dalej to ugryźć? |
|
|
|
Post
#16
|
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław |
|
|
|
|
Post
#17
|
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 2.05.2007 Ostrzeżenie: (0%)
|
Jeśli chcesz sprawdzić, czy "Dzisiaj" jest "w" jakiejś rezerwacji, to jest magiczne "BETWEEN" w SQLu:
a w jakim formacie przechowywać daty? TIMESTAMP? zależy mi na tym żeby prócz dnia była też brana pod uwagę godzina |
|
|
|
Post
#18
|
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
DATETIME
|
|
|
|
Post
#19
|
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 2.05.2007 Ostrzeżenie: (0%)
|
mam taki kod:
wszystko pięknie działa, tylko chciałem stworzyć walidację zajętości danego auta w danym terminie... tzn jeśli "id_auta" w okresie "od" do "do" jest zajęte ostrzeż i nie idź dalej... jak to najlepiej zrobić? Ten post edytował LifeGuard 13.12.2009, 13:31:31 |
|
|
|
Post
#20
|
|
|
Grupa: Zarejestrowani Postów: 331 Pomógł: 30 Dołączył: 11.11.2008 Skąd: Kraków Ostrzeżenie: (0%)
|
a nie lepiej poprostu do bazy zapisywać do bazy datę z funkcji mktime(); -> http://pl.php.net/manual/pl/function.mktime.phpi sprawdzać poprzez ... WHERE $data_poczatku>data_poczatku AND $data_konca ... (IMG:style_emoticons/default/questionmark.gif)
|
|
|
|
Post
#21
|
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 2.05.2007 Ostrzeżenie: (0%)
|
ok. ale formę zapisu i sprawdzania już mam, bardziej chodzi mi o sposób porównania, aby nie zdublować wpisów wypożyczeń
|
|
|
|
Post
#22
|
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 8.01.2008 Ostrzeżenie: (0%)
|
Musisz również uwzględnić w mechanizmie bazodanowym
tzw. transakcje, aby zapobiec przypadkowej rownoczesnej rezerwacji tego samego lub zachodzacego terminu przez kilka osob. Tego nie mozna wykluczyc. Tabele musza byc LOCKowane i przed samym zapisem sprawdzane czy ktos nie wbił sie na rezerwowany termin wczesniej. Sprawdz jak to jest zrobione tutaj (kilka ciekawych rozwiazan): https://www.e-rezerwacje24.pl Kliknij w Menu / przykladowa realizacja a pozniej na stronie pensjonatu Menu / E-rezerwacje Nie wiem czy warto sie meczyc nad wlasnym mechanizmem, jesli tutaj daja bardzo rozbudowany system obslugujacy do tego platnosci on-line + 3 wersje jezykowe, za 1PLN rocznie (IMG:style_emoticons/default/snitch.gif) (w jakiejs tam promocji) Podlaczenie systemu do swojego obiektu to umieszczenie jednego linku. Napisanie dedykowanego systemu dla pojedynczego malego pensjonatu bedzie z pewnoscia obarczone wieloma bledami i jest po prostu bardzo czasochlonne, a zatem czesto nieoplacalne dla wlasciciela. -- pozdr s. |
|
|
|
Post
#23
|
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 2.05.2007 Ostrzeżenie: (0%)
|
dzięki za podpowiedź ale nieprzespana nocka i skrypt powstał...
zanim zapisuje rekordy do bazy wcześniej sprawdzam czy w tablicy składającej się z odpowiednio wybranych rekordów z bazy nie ma już takich wpisów... cała sprawa rozgrywała się o sprawne napisanie zapytania MySQL gdzie było multum AND i OR (czyli nawiasy i inne) |
|
|
|
Post
#24
|
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 8.01.2008 Ostrzeżenie: (0%)
|
Niezle. Czy w trakcie dodawania nowego wpisu lockujesz tabele, czy tylko sprawdzasz czy nie ma wpisu?
Jak bedziesz szukał betatesterow swojego systemu, chetnie potestuje (IMG:style_emoticons/default/winksmiley.jpg) daj znac (podaj linka). -- pozdr. s. |
|
|
|
Post
#25
|
|
|
Grupa: Zarejestrowani Postów: 207 Pomógł: 18 Dołączył: 12.04.2009 Skąd: Rypin Ostrzeżenie: (0%)
|
mam taki kod: wszystko pięknie działa, tylko chciałem stworzyć walidację zajętości danego auta w danym terminie... tzn jeśli "id_auta" w okresie "od" do "do" jest zajęte ostrzeż i nie idź dalej... jak to najlepiej zrobić? Kolego załóż swój temat, a nie mieszam, niedługo każdy wewali się do tego tematu i będzie jeden wielki off top i nie będzie wiadomo która odpowiedź jest do czego... W jednym temacie zajmujemy się jednym skryptem i może wydaje ci się on podobny to wcale taki nie jest. |
|
|
|
Post
#26
|
|
|
Grupa: Moderatorzy Postów: 1 566 Pomógł: 37 Dołączył: 14.05.2003 Skąd: Kraków |
emtiej ma racje, nie robimy offtopa. Jednak ne bawimy się też w moderatorów, od tgo jest opcja raportuj.
Pozdrawiam. |
|
|
|
Post
#27
|
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 31 Dołączył: 30.03.2009 Skąd: Szczecin Ostrzeżenie: (0%)
|
zajrzyj na noce.pl ---- pracowałem nad czymś podobnym--może dogadamy się na PW
|
|
|
|
Post
#28
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 19.01.2010 Ostrzeżenie: (0%)
|
witam
Pisze podobną aplikacje. Ma rezerwować pokoje w pensjonacie. Baze mam gotowa i zapytanie sprawdzające dostępnosc pokoi w zadanym terminie również. Zapytanie w phpmyadmin działa bez zarzutu. przepisalem je na php i teraz chce wyświetlić wyniki na stronie i tutaj zonk. Nie wiem czy dobrze to zrobiłem - ja już nie mam pomysłu Dostaje bład: Fatal error: Call to a member function fetch_assoc() on a non-object in C:\wamp\www\hotel\sprawdz.php on line 105 ponizej daje kod który to robi - nie wiem gdzie jest błąd - może komuś sie uda coś wyniuchać. Dajcie znać
|
|
|
|
![]() ![]() |
|
Aktualny czas: 13.06.2026 - 04:14 |