Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [AJAX][SQL][PHP]Pobieranie danych z MYSQL po kliknięciu wybranej daty
dymek3r
post 11.05.2022, 12:38:55
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 18.02.2013

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


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. ?>


Go to the top of the page
+Quote Post
Johnas
post 11.05.2022, 17:31:53
Post #2





Grupa: Zarejestrowani
Postów: 650
Pomógł: 16
Dołączył: 5.07.2010
Skąd: Ściśle Tajne

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


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>

Ten post edytował Johnas 11.05.2022, 17:34:52


--------------------
Jak coś jest dobre, to nie znaczy że nie może być to lepsze - Ideały nie istnieją ;D
Strony internetowe Świnoujście
Go to the top of the page
+Quote Post
nospor
post 12.05.2022, 08:56:27
Post #3





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




@Johnas zapomniales zwrocic cokolwiek w twoim pliku php wiec na chwile obecna to tak srednio bedzie dzialac wink.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dymek3r
post 17.05.2022, 12:34:16
Post #4





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 18.02.2013

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


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?
Go to the top of the page
+Quote Post
Johnas
post 23.05.2022, 14:56:09
Post #5





Grupa: Zarejestrowani
Postów: 650
Pomógł: 16
Dołączył: 5.07.2010
Skąd: Ściśle Tajne

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


dodaj do pliku php echo $x;


--------------------
Jak coś jest dobre, to nie znaczy że nie może być to lepsze - Ideały nie istnieją ;D
Strony internetowe Świnoujście
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 22:01