Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX][SQL][PHP]Pobieranie danych z MYSQL po kliknięciu wybranej daty
Forum PHP.pl > Forum > Przedszkole
dymek3r
Hej,
pracuję nad pewnym skryptem rezerwacji i potrzebuję, żeby po kliknięciu daty, wyświetliły się dostępne godziny.
Mam już kod, który wyświetla dostępne godziny z danej daty, ale datę mam wpisaną ręcznie.
Chciałbym teraz pobrać datę z kalendarza po kliknięciu i wysłać na tej podstawie zapytanie do MYSQL.
Rozumiem, ze potrzebny jest do tego AJAX?
Mógłby mnie ktoś nakierować jak do tego podejść? Nie proszę o gotowca (choć fajnie by było) tylko jakiś kierunek, dalej powinienem sobie poradzić wink.gif

Mój kod:
index.php
  1. <?php
  2. function godziny() {
  3.  
  4. $rows = get_slots('avalible');
  5. foreach ($rows as $r) {
  6. echo '<p>Dostępne godziny:'.$r['time'].'';
  7. }
  8.  
  9. }
  10. godziny();
  11.  
  12.  
  13.  
  14. ?>


functions.php
  1. <?php
  2. require('admin/sql_connect.php');
  3.  
  4. function get_slots($type) {
  5.  
  6. global $mysqli;
  7. $data=date("Y-m-d");
  8. if($type == "avalible") {
  9. $sql = "SELECT time FROM slots WHERE avalible = 1 AND (date = '$data')";
  10. }else {
  11. echo "Brak wolnych terminów";
  12. }
  13.  
  14. $result = $mysqli->query($sql);
  15. $rows = $result->fetch_all(MYSQLI_ASSOC);
  16.  
  17. return $rows;
  18. }
  19.  
  20. $x = get_slots("avalible");
  21. print_r($x);
  22. ?>


Johnas
To tworzysz jako plik.php:

  1. <?php
  2. require('admin/sql_connect.php');
  3.  
  4. function get_slots($type, $data) {
  5.  
  6. global $mysqli;
  7. if($type == "avalible") {
  8. $sql = "SELECT time FROM slots WHERE avalible = 1 AND (date = '$data')";
  9. }else {
  10. echo "Brak wolnych terminów";
  11. }
  12.  
  13. $result = $mysqli->query($sql);
  14. $rows = $result->fetch_all(MYSQLI_ASSOC);
  15.  
  16. return $rows;
  17. }
  18.  
  19. $x = get_slots("avalible", $_GET["data"]);
  20. ?>


i ajaxem

Kod
$("#button").on("click", function() {
     var dataString = "data=2022-02-25";

$.ajax
({
  type: "GET",
  url: "plik.php",
  data: dataString,
  success: function(html)
  {
     alert(html);
  }
});
return false;
});


oraz w pliku html musisz mieć :
<a href="#" id="button>Kliknij mnie</a>
nospor
@Johnas zapomniales zwrocic cokolwiek w twoim pliku php wiec na chwile obecna to tak srednio bedzie dzialac wink.gif
dymek3r
Właśnie jak klikam przycisk to nic się nie dzieje. Chyba dobrze umieściłem kod? AJAX w pliku html jako skrypt?
Dodatkowo jak uruchamiam sam plik.php to wyskakuje mi błąd:

Cytat
Notice: Undefined index: data in C:\wamp64\www\booking\plik.php on line 19.


Jeśli dobrze rozumiem to powinien zczytywać datę ze skryptu AJAXa?
Johnas
dodaj do pliku php echo $x;
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.