CSGOShop 3 Grudnia 2018 3 Grudnia 2018 Cześć, potrzebuje skryptu który po wybraniu daty sprawdzi jakie godziny mamy wolne do rezerwacji. Zakres rezerwacji co 30 minut od godziny 7:30-18:00 Chciałbym aby po wybraniu daty select się przeładowywał pobierając dane z SQL https://codepen.io/anon/pen/PxgYWX <h1>Rezerwacja</h1> <form action=""> <input type="date" name="bday"> <br /> <select> <option>10:00</option> <option>10:30</option> <option>12:30</option> <option>14:00</option> </select> <br /> <input type="submit" value="Rezerwuj"> </form> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
arces 3 Grudnia 2018 3 Grudnia 2018 (edytowane) Robisz AJAXowe zapytanie do bazy danych i odświeżasz content. Co do sprawdzania, czy masz wolny termin, to po prostu zapisuj godzinę spotkania (czy co tam to jest) do bazy i na tej podstawie odrzucaj już zajęte godziny. P.S. Nikt za free Ci gotowego skryptu nie wrzuci. Edytowane 3 Grudnia 2018 przez arces Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
CSGOShop 3 Grudnia 2018 Autor 3 Grudnia 2018 Mi chodzi tylko o sprawdzanie... Wszelkie zapytania porobię sam. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mr Joker 3 Grudnia 2018 3 Grudnia 2018 w3schools nie jest najlepszym źródłem wiedzy, ale myślę, że Twój problem został przedstawiony tutaj <!DOCTYPE html> <html> <style> table,th,td { border : 1px solid black; border-collapse: collapse; } th,td { padding: 5px; } </style> <body> <h1>The XMLHttpRequest Object</h1> <form action=""> <select name="customers" onchange="showCustomer(this.value)"> <option value="">Select a customer:</option> <option value="ALFKI">Alfreds Futterkiste</option> <option value="NORTS ">North/South</option> <option value="WOLZA">Wolski Zajazd</option> </select> </form> <br> <div id="txtHint">Customer info will be listed here...</div> <script> function showCustomer(str) { var xhttp; if (str == "") { document.getElementById("txtHint").innerHTML = ""; return; } xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById("txtHint").innerHTML = this.responseText; } }; xhttp.open("GET", "getcustomer.asp?q="+str, true); xhttp.send(); } </script> </body> </html> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
arces 3 Grudnia 2018 3 Grudnia 2018 26 minut temu, CSGOShop napisał: Mi chodzi tylko o sprawdzanie... Wszelkie zapytania porobię sam. Ale co my mamy Ci sprawdzić? Kod HTML, który wrzuciłeś? I co nam po tym? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
-n3veR 3 Grudnia 2018 3 Grudnia 2018 Nie wiem jak masz zbudowane tabele w bazie, ale... Pobierz dzień z forma - utwórz timestamp. Zrób z tego godzinę otwarcia i zamknięcia zakładu. Pobierz rekordy pomiędzy tymi datami z pomocą klauzuli BETWEEN. Następnie... Pamiętasz jak utworzyłeś daty otwarcia/zamknięcia? Podziel je po 30 minut i zrób różnicę między tym co podzieliłeś a tym co otrzymałeś z bazy. #umniedziala Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
CSGOShop 3 Grudnia 2018 Autor 3 Grudnia 2018 13 minut temu, El Profesor napisał: Nie wiem jak masz zbudowane tabele w bazie, ale... Pobierz dzień z forma - utwórz timestamp. Zrób z tego godzinę otwarcia i zamknięcia zakładu. Pobierz rekordy pomiędzy tymi datami z pomocą klauzuli BETWEEN. Następnie... Pamiętasz jak utworzyłeś daty otwarcia/zamknięcia? Podziel je po 30 minut i zrób różnicę między tym co podzieliłeś a tym co otrzymałeś z bazy. #umniedziala jeszcze raz xD Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
-n3veR 3 Grudnia 2018 3 Grudnia 2018 53 minuty temu, CSGOShop napisał: jeszcze raz xD No jeszcze raz. Powtórz to co napisałem i będziesz mieć rozwiązanie A jak chcesz kod na tacy, to napisz do mnie na PW - podpiszemy umowę i dostaniesz to co chcesz. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
NS_WhiteHeart 3 Grudnia 2018 3 Grudnia 2018 (edytowane) -- -- Struktura tabeli dla tabeli `rezerwacja` -- CREATE TABLE `rezerwacja` ( `id` int(10) NOT NULL, `time` datetime NOT NULL DEFAULT '00:00:00', `expirationtime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Zrzut danych tabeli `rezerwacja` -- INSERT INTO `rezerwacja` (`id`, `time`, `expirationtime`) VALUES (0, '00:00:00', '0000-00-00 00:00:00'); połączenie z bazą: <?php $host = 'localhost'; $user = 'user'; $passdb = 'password'; $dbn = 'database'; global $mysqli; $mysqli = @new mysqli($host, $user, $passdb, $dbn); if($mysqli->connect_errno != 0) { echo ' nie ma połączenia z bazą '; exit; } ?> formularz: <h1>Rezerwacja</h1> <form action="check.php"> <input type="date" name="bday"> <br /> <select> <option>10:00</option> <option>10:30</option> <option>12:30</option> <option>14:00</option> </select> <br /> <input type="submit" value="Rezerwuj"> </form> check.php <?php $day = $_GET['bday']; $hour = $_GET['hour']; $sql = $mysqli->query("SELECT * FROM rezerwacja WHERE expirationtime = '$day' AND time = '$hour'"); if(mysqli_num_rows($sql) > 0) { while($row = mysqli_fetch_assoc($sql)) { $date = date("Y-m-d"); $time = date("H:i:s"); if($date <= $row['expirationtime']) { if($time <= $row['time']) { echo 'ten termin zajęty'; } else { echo 'nie jest zajęty'; } } else { echo 'nie jest zajęty'; } } } ?> dalej raczej będziesz wiedział jak to zrobić, mogą zawierać błędy bo na szybko pisane ☺️ #edit: zobacz na http://forum.php.pl/index.php?showforum=97 Edytowane 4 Grudnia 2018 przez nastii Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
CSGOShop 4 Grudnia 2018 Autor 4 Grudnia 2018 Taki. Sposobem umiem. Zależy mi na ajaxie... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
arces 4 Grudnia 2018 4 Grudnia 2018 Jak zależy Ci na AJAXie to poczytaj jak to się robi przesyłając dane do PHP i po problemie. Trujesz o to od wczoraj i oczekujesz czegoś autorskiego za free... Zależy Ci na gotowcu to zapłać, a jak nie to poczytaj o technologiach, których musisz użyć. Jeżeli potrafisz napisać to co jest wyżej, to AJAX też nie sprawi Ci problemu... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kontynuuj dyskusję
Dołącz do Pecetowicza, aby kontynuować dyskusję w tym wątku.