Skocz do zawartości
SOYER

Arduino MEGA i BLYNK, LCD odchodzi do lamusa...

Pomocna odpowiedź

czyli chodzi o to, by ta zmienna była też widoczna w naszym :

<script> function wpiszTemp(){     document.getElementById("wyniki").innerHTML = $what+" *C ";}; } </script> <script> function pobierzTemp(){ $.ajax({url:"getData.php",  success:wpiszTemp }); } </script>

tak? żeby powyższe skrypty widziały wartość zmiennej $what ze skryptu php, to w tymże skrypcie trzeba tą zmienną ustawić jako globalną... no logiczne

tylko po co była ta kolejna zmienna $result.... 

wiem, że to podstawy bo już wzdychasz;) ale skoro ta zmienna globalną jest teraz widoczna wszędzie to po co to echo... 

Chyba, że znowu coś pokręciłem... 

Udostępnij ten post


Link to post
Share on other sites

Jak sobie wyobrażasz, aby zmienna istniejąca wyłącznie na Twoim RPi (czyli $what) była widoczna w programie w mojej przeglądarce? Telepatycznie?

Wbij sobie wreszcie do głowy że to są dwa oddzielne programy.

Program w JavaScripcie na mojej przeglądarce prosi Twój serwer o wykonanie jakiegoś tam skryptu, ew. przekazując mu jakieś dane (pamiętaj: dane != zmienne). Nie wie nic o konstrukcji skryptu, wie tylko jak się nazywa i jak mu te dane przekazać.

Skrypt na Twoim serwerze wykonuje się i wypisuje na wyjściu jakiś tekst. Ten tekst (znowu nie żadne zmienne) zostaje zwrócony mojej przeglądarce. Skrypt nie wie, co moja przeglądarka chce z nim zrobić, a w szczególności nie ma pojęcia o strukturze programu uruchomionego na przeglądarce.

I znów program w JavaScripcie który czekał na te wyniki pobiera je i przekazuje do funkcji którą wpisałeś w success. Nie obchodzą go nazwy zmiennych, ani w JavaScripcie ani tym bardziej w PHP. Wie tyle, że jeśli Twój skrypt na wyjściu wypisał 'Mietek jest gupi' to funkcja zostanie wywołana z parametrem 'Mietek jest gupi'.

Tyle. Żadnej magii. Żadnej telepatii. Żadnych zmiennych globalnych obejmujących cały Internet z Chinami włącznie.

Czy to w końcu jasne?

Przy okazji: jak mi jeszcze raz wspomnisz o tym twoim kursie to będziesz się sam z niego uczył do końca kariery, tylko nie proś o pomoc.

Udostępnij ten post


Link to post
Share on other sites

Dobra ostatnie zdanie o kursie PHP Zelenta, jak zobaczysz chociaż jeden odcinek to będziesz wiedział czy to moja wina czy kursu. Mnie się jednak wydaje, że moja. Zobacz i napisz co jest nie tak. Nie osądzaj po pozorach, czyli mojej skromnej osobie;) 

Co do kody, to widzisz, że znowu zapomniałem o tej dwoistości wykonywania w różnych miejscach. 

Postaram się nie zapominać. 

Co dalej? 

Udostępnij ten post


Link to post
Share on other sites

Dalej zrób to zadanie które masz zrobić. Jak zrobisz to zobaczymy co dalej - pewnie rozmowa reorientacyjna na temat tego po co są linki w HTML-u i zaczniemy analizować, dlaczego zaproponowana przez Ciebie struktura tabeli jest do dup^Hżej porcji chrzanu 🙂

Co do kursu: nie twierdzę że kurs jest zły (bo nie mam podstaw aby tak twierdzić) tylko że nie jest dla Ciebie (bo jak wspomniałem, sądząc po Twoich postępach mam prawo tak twierdzić).

 

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Ja tam siebie zadowolony jestem;) Z kursu też bo bez niego nie zrobiłbym żadnego zadania jakie mi tu dałeś, a najbardziej zadowolony to jestem z Twojej pomocy. Dzięki. Dla mnie to świetne ćwiczenia intelektualne, czasem frustrująca, ale dające mnóstwo frajdy, a przy okazji stronkę se zrobię... 😉

Cdn za tydzień, bo zapowiada się ciasno z czasem. 

Edytowano przez SOYER

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

@ethanak hej, spójrz tutaj, nowa wersja zbudowana częściowo na <a></a> i kika innych zmian pewnie zauważysz...

co jest nie tak z tym kodem, ostatnia linijka...: 

<script>
 temp.onclick = function(){
 $('#odczytGlowny').hide();
 $('#odczytCzujnik').show();
 $('#wyniki').show();
 $("#odczytCzujnik").html("Aktualna temperatura wynosi: ");
 $.ajax({url:"getData.php"}).done function(res){$("#wyniki").html(res+" *C ");};
   }

.......</script>

 

Edytowano przez SOYER

Udostępnij ten post


Link to post
Share on other sites

Skąd wziąłeś tę linijkę? I kiedy się wreszcie nauczysz składni JavaScriptu (nie pytam z jakiego kursu się uczysz)?

Na głównej stronie jquery.com masz akurat przykład prawidłowego kodu jquery dla ajaxa, zajrzysz czy trzeba Ci przepisać?

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

To wygląda prawidłowo - działa? Nie mam czasu dzisiaj sprawdzać...

Jedna uwaga: jeśli nie wstawiasz znaczników HTML to stosuj metodę text a nie html, coś takiego:

$.ajax({url:"getData.php"}), succes: function(res){$("#wyniki").text(res+" °C ");}; }

Aha, u mnie znak stopnia na klawiaturze to AltGr-Shift-0...

  • Lubię! 1
  • Pomogłeś! 1

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Hej, w końcu działa: poporawiłem nawiasy, bo były źle, ale nadal nie działało. Po godzinie gapienia sie w jedną linijkę kodu zauważyłem, że success pisze się przez dwa "s" na końcu:-/.

Prawidłowa linijka:

 $.ajax({url: "getData.php", success: function(res){$('#wyniki').html(res+" *C ");}});

akapit:

 $('#temp').click(function(){
 $('#odczytGlowny').hide();
 $('#odczytCzujnik').show();
 $('#wyniki').show();
 $("#odczytCzujnik").html("Aktualna temperatura wynosi: ");
 $.ajax({url: "getData.php", success: function(res){$('#wyniki').html(res+" °C ");}});
   });

Cała strona

Jadymy dalej?

Edytowano przez SOYER

Udostępnij ten post


Link to post
Share on other sites
(edytowany)
Dnia 20.01.2019 o 20:23, ethanak napisał:

'Mietek jest gupi'

 

Dnia 20.01.2019 o 20:23, ethanak napisał:

Tyle. Żadnej magii. Żadnej telepatii.

😉

https://forbot.pl/blog/jak-wykorzystac-siec-tor-do-polaczenia-sie-z-raspberry-pi-id30507

 

PS

Jednak jakaś magia albo telepatia, bo inaczej skąd byś wiedziałeś, że tak mam na imię 😉

Edytowano przez narbej

Udostępnij ten post


Link to post
Share on other sites
1 godzinę temu, SOYER napisał:

Jadymy dalej?

Ech... ale to w dalszym ciągu nie jest zadanie o które prosiłem...

Na razie zmień metodę html na text (tak jak sugerowałem wcześniej) i zrób to nieszczęsne zadanie - nie mogę ruszyć dalej, bo do tego potrzebny będzie właśnie kod będący rozwiązaniem zadania 😞

@narbejmam nadzieję że nie sugerujesz że wiedziałem coś więcej :):):)

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

@ethanak myślałem, że zadaniem jest wybudowanie do mojej strony kodu pobierającego przykładowe dane z php... 

o czym zapomniałem? 

Udostępnij ten post


Link to post
Share on other sites
(edytowany)
Dnia 20.01.2019 o 13:36, ethanak napisał:

masz bojowe zadanie:

zmodyfikować kod Twojej strony wyświetlającej dane o jakości powietrza tak, aby korzystała z serwera. Skrypt PHP powinien przyjmować dwa parametry: jakie dane mamy wyświetlić oraz miano liczby, czyli coś w stylu:


'data' : {'what': 'pm10', 'name': 'µg/m³'}

Użyj na razie funkcji symulującej pobieranie z bazy danych (gdzieś tam podawałem) zwracającej losowy wynik.

Oczywiście nie chcę stu skryptów typu getTemp.php, getPM10.php, getcośtam.php tylko jeden getData.php który zwróci to o co proszę

Edytowano przez ethanak

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

czy dobrze kombinuję: w php powinien być skrypt switch case, gdzie case-em będzie "what", a zwracał będzie wartość pobraną z bazy danych...?? 

Nie wiem co zrobić z tym :

'data' : {'what': 'pm10', 'name': 'µg/m³'}

te dane wysyłam na serwer, ale jak je tam odebrać w tym skrypcie php... 

po odebraniu i sprawdzeniu czego chce strona wysyłam w echo wartość, dla powyższego to będzie pm10...

A po co to name? 

si? 

Edytowano przez SOYER

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Napisz odpowiedź...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...