Skocz do zawartości
SOYER

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

Pomocna odpowiedź

młodzi grają,  nie mam dostępu do kompa...

co zwraca mi getData.php i jak zrobić by była to $temperatura i facet od wpiszTemp widział tą wartość? 

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Nic Ci nie zwraca - pomijając błąd w require_once co prawda pobierasz z bazy wartość do $temperatura, ale nic z nią nie robisz.

Pamiętaj - nazwy w JavaScripcie nie mają nic wspólnego z nazwami w PHP, to dwa różne światy. Spójrz na konstrukcję tego nieszczęsnego podnośnika do kwadratu...

A funkcja w success po prostu jako argument dostaje to co zwrócił skrypt w url (ale to już mogłeś sobie sam doczytać - np w dokumentacji)

Aha, właśnie... miałeś zdaje się zrobić coś innego? Pamiętaj - jedna z ważniejszych zasad w programowaniu: nigdy nie rób dwóch rzeczy na raz!

Edytowano przez ethanak
  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

No właśnie skoro

4 minuty temu, ethanak napisał:

A funkcja w success po prostu jako argument dostaje to co zwrócił skrypt w url 

a ten skrypt to getData.php który nic nie zwraca...

o to właśnie pytam, jak zrobić by zwracał $temperatura. Czytałem coś o result ale nic nie rozumiałem... 

Udostępnij ten post


Link to post
Share on other sites

To poczytaj o echo w php... i wywal w cholerę ten videopodręcznik z którego się uczysz, bo sądząc po wybitnych postępach w rozumieniu jak działa PHP jest tyle wart co zestaw wzorów do szydełkowania.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

echo no tak, ja myślałem, że to służy do wypisywania fizycznego czegoś tam... 

Czyli:

<?php require_once "logMeteo.php"; $polaczenie = new mysqli($host, $db_user, $db_pass, $db_name); 
if($polaczenie->connect_errno!=0){     echo "Error:".$polaczenie>connect_errno."Opis: ".$polaczenie->connect_error; } else{     $sqlTemp='SELECT aktualna FROM meteo WHERE czujniki="temperatura"';     $temperatura=$polaczenie->query($sqlTemp);    $polaczenie->close();     } 
echo $temperatura; 
?>

p. s. to nie wina kursu tylko moja, rodzina, praca, dom, a dopiero potem php... wieczorami po trochu... 

Edytowano przez SOYER

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Tak, tyle że echo daj w bloku "else" (jeśli połączenie z bazą się nie powiedzie to raczej nie będzie zmiennej $temperatura).

Owszem, echo służy do wypisywania fizycznego czegoś tam. A potem ten czegośtam fizycznie wypisany wędruje sobie z serwera do Twojej przeglądarki (no bo nic innego nie powędruje) i ta albo go ślicznie wyświetla, albo używa jako argumentu dla funkcji success AJAX-a.

 

Aha... zdaje się że miałeś zrobić coś innego? O MySQL-u pogadamy następnym razem bo to też temat rzeka, wrzuć tu na razie tą testową funkcję bo za chwilę cała tabela się zmieni i zmienią się kwerendy.

Edytowano przez ethanak
  • Pomogłeś! 1

Udostępnij ten post


Link to post
Share on other sites
8 minut temu, ethanak napisał:

Tak, tyle że echo daj w bloku "else" (jeśli połączenie z bazą się nie powiedzie to raczej nie będzie zmiennej $temperatura).

faktycznie. 

 

8 minut temu, ethanak napisał:

wrzuć tu na razie tą testową funkcję 

którą? 

 

9 minut temu, ethanak napisał:

bo za chwilę cała tabela się zmieni

a to czemu? Już wcześniej pisałeś, że coś z nią nie tak... 

Udostępnij ten post


Link to post
Share on other sites

Testowa funkcja która przyjmuje parametr i w teorii powinna zwrócić wartość odczytaną z bazy, ale na razie (ponieważ baza jest w proszku i nie będziemy się nią zajmować dopóki nie będzie działać to co miałeś zrobić) zwraca po prostu wartość losową. Gdzieś tam w którymś poście podawałem...

A tabela się zmieni bo jest absolutnie nieużyteczna i jeśli chcesz aby Ci to działało to trzeba od razu zrobić porządnie. HTML-a, PHP i JS można poprawić; błędnie stworzonej tabeli SQL-a już się raczej nie da 😞

Udostępnij ten post


Link to post
Share on other sites
4 minuty temu, ethanak napisał:

błędnie stworzonej tabeli SQL-a już się raczej nie da

Dawno, dawno temu gdy bawiłem się PHP i MySQL-em to tabele tworzyłem i modyfikowałem z poziomu PHP - pewnie i teraz da się to robić.

Udostępnij ten post


Link to post
Share on other sites
3 minuty temu, Belferek napisał:

Dawno, dawno temu gdy bawiłem się PHP i MySQL-em to tabele tworzyłem i modyfikowałem z poziomu PHP - pewnie i teraz da się to robić.

Ja też zrobiłem w phpMyAdmin... 

Udostępnij ten post


Link to post
Share on other sites

Nie o to chodzi. Jeśli założenia przy tworzeniu tabeli były błędne (np. brakowało jakiejś kolumny lub miała nieprawidłowy typ) to oczywiście mogę tabelę poprawić i nie trzeba mi do tego php ani admina (od tego jest w systemie polecenie mysql - nawiasem mówiąc warto znać), ale dane zbierane przez rok są głęboko w /dev/null.

Tu akurat jest ten przypadek.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

 

<?php

function getCurrentStatus($what) { // tu w przyszłości będzie pobieranie danych z bazy, a na dzisiaj... return rand(10,40); // tak na przykład }

echo $what;

?>

i

<script> function wpiszTemp(){     document.getElementById("wyniki").innerHTML = $what+" *C ";}; } </script>

<script> function pobierzTemp(){ $.ajax({url:"getData.php",  success:wpiszTemp }); } 

</script>

 

Edytowano przez SOYER

Udostępnij ten post


Link to post
Share on other sites

No niezupełnie...
 

<?php

function getCurrentStatus($what) {
  // tu w przyszłości będzie pobieranie danych z bazy, a na dzisiaj...
  return rand(10,40); // tak na przykład
}
$what = $_REQUEST['what'];
$result = getCurrentStatus($what);
echo $result;
?>

Coś takiego - mam nadzieję że rozumiesz o co chodzi...

Udostępnij ten post


Link to post
Share on other sites

No niezupełnie 😉

$what = $_REQUEST['what'];

ustawia zmienną $what jako globalną, tak? 

Ale po co? Czemu to służy? 

Udostępnij ten post


Link to post
Share on other sites

Ech... Równie dobrze mogłem napisać:

echo getCurrentStatus($_REQUEST['what']);

tylko to raczej takie mało czytelne...

Po to są zmienne aby ich używać.

  • Lubię! 1

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ść
Dołącz do dyskusji! Kliknij i zacznij pisać...

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