Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> System rezerwacyjny w PHP, Problem z modułem kalendarza
sebap123
post
Post #1





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 26.08.2009
Skąd: Szczecin

Ostrzeżenie: (10%)
X----


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.
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 27)
scanner
post
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ć?
Go to the top of the page
+Quote Post
sebap123
post
Post #3





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 26.08.2009
Skąd: Szczecin

Ostrzeżenie: (10%)
X----


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.
Go to the top of the page
+Quote Post
scanner
post
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.
Go to the top of the page
+Quote Post
sebap123
post
Post #5





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 26.08.2009
Skąd: Szczecin

Ostrzeżenie: (10%)
X----


Ok. To się zabieram do roboty.
Go to the top of the page
+Quote Post
phpion
post
Post #6





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(scanner @ 2.09.2009, 20:58:02 ) *
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?
Go to the top of the page
+Quote Post
sebap123
post
Post #7





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 26.08.2009
Skąd: Szczecin

Ostrzeżenie: (10%)
X----


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.
Go to the top of the page
+Quote Post
f1xer
post
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/
Go to the top of the page
+Quote Post
Ociu
post
Post #9





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Cytat(phpion @ 2.09.2009, 21:02:22 ) *
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.
Go to the top of the page
+Quote Post
sebap123
post
Post #10





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 26.08.2009
Skąd: Szczecin

Ostrzeżenie: (10%)
X----


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ć?
Go to the top of the page
+Quote Post
f1xer
post
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:
  1. $dataod=mysql_real_escape_string($_POST['dataod']); // i w tym momencie masz datę przyjazdu
  2. $datado=mysql_real_escape_string($_POST['datado']); // i w tym momencie masz datę odjazdu
  3. // dalsze działania to np. sprawdzanie formatu i realności daty itd. a jak już wszystkie dane są ok to możesz dodać do bazy danych nowy rekork


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
  1. <!DOCTYPE html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Rezerwacje</title>
  5. <link type="text/css" href="sciezka/do/ui/css/smoothness/jquery-ui-1.7.2.custom.css" rel="stylesheet" />
  6. <script type="text/javascript" src="sciezka/do/jquery/jquery-1.3.2.min.js"></script>
  7. <script type="text/javascript" src="sciezka/do/ui/jquery-ui-1.7.2.custom.min.js"></script>
  8. <script type="text/javascript">
  9. $(function() {
  10. $("#dataod").datepicker();
  11. $("#datado").datepicker();
  12. });
  13. </head>
  14. <form action="rezerwuj.php">
  15. <label for="dataod">Przyjazd:</label>
  16. <input type="text" id="dataod" />
  17. <label for="datado">Wyjazd:</label>
  18. <input type="text" id="datado" />
  19. <input type="submit" value="rezerwuj" />
  20. </form>
  21. </body>
  22. </html>

Go to the top of the page
+Quote Post
sebap123
post
Post #12





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 26.08.2009
Skąd: Szczecin

Ostrzeżenie: (10%)
X----


Dzięki wielkie, narazie.
Biore się do pracy.
Go to the top of the page
+Quote Post
scanner
post
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]:
Go to the top of the page
+Quote Post
sebap123
post
Post #14





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 26.08.2009
Skąd: Szczecin

Ostrzeżenie: (10%)
X----


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.
Go to the top of the page
+Quote Post
LifeGuard
post
Post #15





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 2.05.2007

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


Cytat(scanner @ 14.09.2009, 17:19:38 ) *
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źć?
Go to the top of the page
+Quote Post
scanner
post
Post #16





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Jeśli chcesz sprawdzić, czy "Dzisiaj" jest "w" jakiejś rezerwacji, to jest magiczne "BETWEEN" w SQLu:
  1. NOW() BETWEEN od AND do
Go to the top of the page
+Quote Post
LifeGuard
post
Post #17





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 2.05.2007

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


Cytat(scanner @ 8.12.2009, 00:08:16 ) *
Jeśli chcesz sprawdzić, czy "Dzisiaj" jest "w" jakiejś rezerwacji, to jest magiczne "BETWEEN" w SQLu:
  1. NOW() BETWEEN od AND do



a w jakim formacie przechowywać daty? TIMESTAMP? zależy mi na tym żeby prócz dnia była też brana pod uwagę godzina
Go to the top of the page
+Quote Post
phpion
post
Post #18





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




DATETIME
Go to the top of the page
+Quote Post
LifeGuard
post
Post #19





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 2.05.2007

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



mam taki kod:
  1. function form_dodaj_wypozyczenie()
  2. {
  3.  
  4. echo "<p align=center><u>Samochody obecnie wypożyczone:</u><br>";
  5. $cccs = mysql_query("SELECT w.id_auta, DATE_FORMAT(w.do, '%Y-%m-%d %H:%i') AS do, a.id_auta, a.model FROM w_wypozyczenia as w INNER JOIN w_auta as a ON a.id_auta = w.id_auta WHERE NOW() BETWEEN w.od AND w.do ");
  6. while ($cccsrow = mysql_fetch_array($cccs, MYSQL_ASSOC)) {
  7. $s_id_auta = $cccsrow["id_auta"];
  8. $s_do = $cccsrow["do"];
  9. $s_model = $cccsrow["model"];
  10. echo "<p id=aktualnie align=center>";
  11. echo "<b>".$s_model."</b>";
  12. echo " aktualnie wypożyczony do ";
  13. echo "<b> ".$s_do." </b><br>";
  14. }
  15. echo "<br><p align=center><u>Samochody obecnie zarezerwowane:</u><br>";
  16. $cccs = mysql_query("SELECT w.id_auta, DATE_FORMAT(w.od, '%Y-%m-%d %H:%i') AS od, DATE_FORMAT(w.do, '%Y-%m-%d %H:%i') AS do, a.id_auta, a.model FROM w_wypozyczenia as w INNER JOIN w_auta as a ON a.id_auta = w.id_auta WHERE NOW() < w.od");
  17. while ($cccsrow = mysql_fetch_array($cccs, MYSQL_ASSOC)) {
  18. $s_id_auta = $cccsrow["id_auta"];
  19. $s_do = $cccsrow["do"];
  20. $s_od = $cccsrow["od"];
  21. $s_model = $cccsrow["model"];
  22. echo "<p id=rezerwacja align=center>";
  23. echo "<b>".$s_model."</b>";
  24. echo " zarezerwowany od ";
  25. echo "<b> ".$s_od." </b>";
  26. echo " do ";
  27. echo "<b> ".$s_do." </b><br>";
  28. }
  29.  
  30. echo "<br /><form action=\"xxx.php?a=dodaj_wypozyczenie\" method=\"post\">";
  31. echo "<br><p align=\"center\"><b><u>Dodaj rezerwację:</u><b></p><br>";
  32. echo "<table table border=\"0\" width=\"500\" border=\"1\" align=\"center\" cellspacing=\"0\" cellpadding=\"0\">";
  33.  
  34. $query = mysql_query("SELECT * FROM `w_auta` ORDER BY `id_auta` DESC");
  35. echo "<tr><td width=\"200\" align=\"right\">Nazwa samochodu: </td><td width=\"300\"><select name=\"s_id_auta\">";
  36. echo "<option value=''> --- Wybierz auto --- </option>";
  37.  
  38. while ($data = mysql_fetch_array($query, MYSQL_ASSOC))
  39. {
  40. echo " <option value=\"{$data['id_auta']}\">{$data['model']}</option>\n";
  41. }
  42.  
  43. echo "</select></td></tr>";
  44. echo "<tr><td width=\"200\" align=\"right\">rezerwacja od: </td><td width=\"300\"><input id=\"date\" type=\"text\" name=\"s_od\" size=\"20\"></td></tr>";
  45. echo "<tr><td width=\"200\" align=\"right\">rezerwacja do: </td><td width=\"300\"><input id=\"date2\" type=\"text\" name=\"s_do\" size=\"20\"></td></tr>";
  46. echo "<tr><td width=\"200\" align=\"right\">klient: </td><td width=\"300\"><input type=\"text\" name=\"s_klient\" size=\"20\"></td></tr>";
  47. echo "<tr><td width=\"200\" align=\"right\">tel. do klienta: </td><td width=\"300\"><input type=\"text\" name=\"s_telefon\" size=\"20\"></td></tr>";
  48. echo "<tr><td width=\"200\" align=\"right\">uwagi: </td><td width=\"300\"><textarea rows=\"7\" name=\"s_uwagi\" cols=\"30\"></textarea></td></tr>";
  49. echo "<tr><td width=\"100%\" colspan=\"2\"><br><input type=\"submit\" value=\"Zapisz\" name=\"submit\" style=\"float: right\"></td></tr>";
  50. echo "</form>";
  51. echo "<br />";
  52.  
  53.  
  54. }
  55.  
  56. function dodaj_wypozyczenie()
  57. {
  58.  
  59. $s_id_auta = $_POST['s_id_auta'];
  60. $s_od = $_POST['s_od'];
  61. $s_do = $_POST['s_do'];
  62. $s_klient = $_POST['s_klient'];
  63. $s_telefon = $_POST['s_telefon'];
  64. $s_uwagi = $_POST['s_uwagi'];
  65.  
  66. echo "<p align=\"center\"><b>Wybierz samochod!</b><br><br><a href=\"java script:history.go(-1);\"><u>....powrót...</u></a></p>";
  67. }
  68. else {
  69.  
  70. $query = "INSERT INTO `w_wypozyczenia` ( `id_wyp`, `id_auta`, `od`, `do`, `klient`, `telefon`, `uwagi` ) VALUES ('', '$s_id_auta', '$s_od', '$s_do', '$s_klient', '$s_telefon', '$s_uwagi')";
  71. mysql_query($query);
  72. $s_id = mysql_insert_id();
  73. echo "<p align=\"center\"><b>Rezerwacja dodana do bazy</b> (".$s_id.")</p>";
  74. }
  75. }



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
Go to the top of the page
+Quote Post
piotr94
post
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)
Go to the top of the page
+Quote Post
LifeGuard
post
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ń
Go to the top of the page
+Quote Post
spamcop
post
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.
Go to the top of the page
+Quote Post
LifeGuard
post
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)

Go to the top of the page
+Quote Post
spamcop
post
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.
Go to the top of the page
+Quote Post
emtiej
post
Post #25





Grupa: Zarejestrowani
Postów: 207
Pomógł: 18
Dołączył: 12.04.2009
Skąd: Rypin

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


Cytat(LifeGuard @ 13.12.2009, 13:28:55 ) *
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.
Go to the top of the page
+Quote Post
Ociu
post
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.
Go to the top of the page
+Quote Post
celbarowicz
post
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
Go to the top of the page
+Quote Post
ppietras86
post
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ć
  1. <?php
  2.  
  3.  
  4. $przyjazd = $_POST['przyjazd'];
  5. $odjazd = $_POST['odjazd'];
  6.  
  7. $stmt = "SELECT numer_pokoju, cena,
  8. IF (
  9. mid( group_concat( data_od ORDER BY data_od DESC separator ' ' ) , 1, 10 ) < '$przyjazd',
  10. mid( group_concat( data_do ORDER BY data_od DESC separator ' ' ) , 1, 10 ) ,
  11. mid( group_concat( data_do ORDER BY data_do DESC separator ' ' ) , 12, 10 )) AS wolna_data_od,
  12. IF (
  13. mid( group_concat( data_od ORDER BY data_od DESC separator ' ' ) , 1, 10 ) < '$odjazd', '~',
  14. mid( group_concat( data_od ORDER BY data_od DESC separator ' ' ) , 1, 10 )) AS wolna_data_do
  15. FROM pokoje LEFT JOIN rezerwacje USING ( id_pokoju )
  16. WHERE data_od < '$przyjazd' or data_do >= '$odjazd' OR data_do is null
  17. GROUP BY numer_pokoju
  18. )";
  19. $result = $db_handle->query($stmt);
  20.  
  21. echo '<table border="1"><tr><td>Pokój nr</td><td>Cena</td><td>Przyjazd</td><td>Odjazd</td><td>Rezerwuj</td></tr>';
  22. while ($row = $result->fetch_assoc()) {
  23. $numer_pokoju = $row['numer_pokoju'];
  24. $cena = $row['cena'];
  25. echo '<tr><td>'. $numer_pokoju .'</td><td>'. $cena .'</td><td>'. $przyjazd .'</td><td>'. $odjazd .'</td><td><a href="rezerwacja.php?pokoj='. $row['id_pokoju'] .'?przyjazd='. $przyjazd .'?odjazd='. $odjazd. '"><img src="images/rezerwacja.jpg"></a></td></tr>';
  26. }
  27. echo '</table>';
  28.  
  29.  
  30. ?>

Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 13.06.2026 - 04:14