Kalendarz JS i przypisywanie do zmiennej

0

Witam,
Chciałbym zrobić coś takiego, że dołączę do aplikacji kalendarz JS i za jego pomocą będę wybierał jakaś datę i następnie przypisywał ją do zmiennej. Chciałbym aby odbywało się to na takiej zasadzie:
-wybieram datę
-przypisanie do zmiennej $data
-wyświetlenie wyników zapytania do bazy, którego warunkiem jest $data

Mój problem jest taki. Jak zrobić aby dynamicznie zmieniały się wyniki z bazy w zależności od wybranej daty z kalendarzyka. Jeśli chodzi o JS bądź AJAX to jestem totalnie zielony, więc proszę o jakieś wskazówki jak w miarę sprawnie mógłbym rozwiązać mój problem.

0
Jimis napisał(a):

Witam,
Chciałbym zrobić coś takiego, że dołączę do aplikacji kalendarz JS i za jego pomocą będę wybierał jakaś datę i następnie przypisywał ją do zmiennej. Chciałbym aby odbywało się to na takiej zasadzie:
-wybieram datę
-przypisanie do zmiennej $data
-wyświetlenie wyników zapytania do bazy, którego warunkiem jest $data

Mój problem jest taki. Jak zrobić aby dynamicznie zmieniały się wyniki z bazy w zależności od wybranej daty z kalendarzyka. Jeśli chodzi o JS bądź AJAX to jestem totalnie zielony, więc proszę o jakieś wskazówki jak w miarę sprawnie mógłbym rozwiązać mój problem.

Nie jesteś w stanie przypisać wartości wybranej przez użytkownika do zmiennej $data (oczywiście zakładam, że jest to zmienna w skrypcie PHP), ze względu na fakt, że skrypty PHP przetwarzane są tylko po stronie serwera, natomiast data wybierana jest po stronie przeglądarki (użytkownika). Wybraną datę musisz wysłać do serwera za pomocą AJAXa (lub zwykłym postem przeładowując stronę) i w odpowiedzi odebrać wyniki zapytania do bazy.

Osobiście polecam nauczyć się JS i AJAXa - nie jest to skomplikowane, kilka wieczorków i spokojnie klepniesz sobie taki kalendarzyk.

0

Zakładam że ogarniasz PHP lub Perl i SQL (co jest nie prawdą). Drobna, mała, miniaturowa, prawie że nie istotna wskazówka: POCZYTAJ O JavaScript (jak i gdzie to się dzieje)

0

Zrobiłem tak:

js.php

     	<script type="text/javascript">
    $(document).ready(function() {
    $("#datepicker").datepicker({
    onSelect: function(dateText, inst) {
    dateText = $.datepicker.formatDate('yy-mm-dd', new Date(dateText));
    $.post("rezerwacje.php", {visitdate: dateText} ); }});
    });
    </script>
     
    <div><div id="datepicker" name="visitdate"></div></div>

rezerwacje.php

    <?php
    require 'js.php';
    echo $_POST['visitdate'];
    ?> 

W tej chwili w rezerwacje.php wyświetla mi się kalendarz, mogę wybierać datę. Ale echo $_POST['visitdate']; nic nie zwraca.

0

Nie tak działa AJAX.
z rezerwacje.php usuń to require, zostaw samo echo

js.php delikatnie zmodyfikuj:

    <script type="text/javascript">
    $(document).ready(function() {
    $("#datepicker").datepicker({
      onSelect: function(dateText, inst) {
        dateText = $.datepicker.formatDate('yy-mm-dd', new Date(dateText));
        $.post("rezerwacje.php", {visitdate: dateText}, function(zwrot){
          alert(zwrot); // tutaj masz zmienna zawierajaca zwrot z php
        });
      }
    });
    });
    </script>
 
    <div><div id="datepicker" name="visitdate"></div></div>

Naucz się też pisać poprawnie sformatowany kod - łatwiej potem dojść co do czego

0

Ok, zrobiłem tak:

  • w rezerwacje.php zostawiłem tylko
echo $_POST['visitdate']; 
  • js.php
<!DOCTYPE html>
<html>
	<head>
		<link type="text/css" href="css/pepper-grinder/jquery-ui-1.8.21.custom.css" rel="stylesheet" />
		<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
		<script type="text/javascript" src="js/jquery-ui-1.8.21.custom.min.js"></script>
		<script type="text/javascript">
    $(document).ready(function() {
    $("#datepicker").datepicker({
      onSelect: function(dateText, inst) {
        dateText = $.datepicker.formatDate('yy-mm-dd', new Date(dateText));
        $.post("rezerwacje.php", {visitdate: dateText}, function(zwrot){
          alert(zwrot); // tutaj masz zmienna zawierajaca zwrot z php
        });
      }
    });
    });
    </script>	
	</head>
	<body>
	<div><div id="datepicker" name="visitdate"></div></div>
	</body>
</html>

Teraz po wejściu w js.php i kliknięciu na jakąś datę otrzymuję user image

0

jakieś dwa zlepione htmle. poznajesz co to za pliki?
Nie wiem jaka to przeglądarka (widzę tylko, że nie Opera), ale każda przeglądarka ma coś takiego jak narzędzia webdeveloperskie - w nich widać jakie żądania są wyłane, jaka jest odpowiedź - i wiele więcej. takie narzędzia są wbudowane we wszystkie nowe przeglądarki oprócz Firefoxa, dla którego potrzebujesz dodatku Firebug --- zainteresuj się tematem, przyda Ci się wiele razy - w praktyce podczas pisania stron prawie się tego nie zamyka - zobaczysz sobie czy żądania Ci idą pod adres, którego się spodziewasz.

0

Korzystam z Firefoxa. To co wywaliło mi w ramce to kod html pliku rezerwacje.php
Do podglądania kodu korzystam z narzędzia w chromie, jednak nie wiem jak podejrzeć tam żadania.

0
  • w rezerwacje.php zostawiłem tylko
    echo $_POST['visitdate'];

To co wywaliło mi w ramce to kod html pliku rezerwacje.php

To się wyklucza.

Na Twoim miejscu wziąłbym się za lektury podstaw. W tym momencie pytasz mnie o podstawy i musiałbym Ci naprawdę sporo wyłożyć tego, co już zostało opisane wiele razy. Tak więc przegrzeb neta za wyjaśnieniami czym jest ajax, a jeszcze wcześniej - jaka jest różnica pomiędzy serwerem, a klientem, bo w tym momencie chcesz magicznie łączyć php z JS, a to są dwie różne rzeczy, oraz o sposobie używania narzędzi deweloperskich w Google Chrome

1 użytkowników online, w tym zalogowanych: 0, gości: 1