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

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »

×