Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Zatrzymanie pętli przyciskiem?
mix091
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 5.12.2015

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


Dzieńdobry (IMG:style_emoticons/default/smile.gif)

Mam na swojej stronie dwa guziki: uruchom i zatrzymaj. Chciałem zrobić tak, aby po wciśnięciu guzika uruchom zaczęła wykonywać się pętla while, której warunkiem zatrzymania miało by być wciśnięcie klawisza zatrzymaj. Chciałem to zrobić na takiej zasadzie, że po wcisnieciu buttona zatrzymaj ustawi się w nim zmienna logiczna $stop na true i pętla while sie zatrzyma jeżeli $stop jest inne niż false. Oto kod którym próbowałem to zrobić

  1. if (isset($_POST['zatrzymaj']))
  2. {
  3. $stop = true;
  4. }
  5. if (isset($_POST['uruchom']))
  6. {
  7. $dtemp = $_POST['docelowaTemp'];
  8. while ($stop == false)
  9. {
  10. // Kod petli
  11. }
  12. }


Ale mi to nie działa i coś mi się wydaje, że takie coś nie ma prawa działać. Jak wykonać takie zatrzymanie pętli?
Pomocy (IMG:style_emoticons/default/sad.gif)

Ten post edytował mix091 5.12.2015, 23:46:27
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Terrorizer
post
Post #2





Grupa: Zarejestrowani
Postów: 345
Pomógł: 3
Dołączył: 31.03.2012

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


Wszystko zależy od tego co ma robić ta pętla jeszcze....
Go to the top of the page
+Quote Post
mix091
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 5.12.2015

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


Cytat(Terrorizer @ 6.12.2015, 12:49:55 ) *
Wszystko zależy od tego co ma robić ta pętla jeszcze....


Pętla jest bardzo banalna. Generalnie robię mały projekt do szkoły oparty na raspberry pi. Mój program ma wyświetlać na stronie www aktualną temperaturę w pomieszczeniu z czujnika i jeżeli wprowadzimy, że mamy dogrzać pomieszczenie np do 27*C to program ma wysłać 1 do przekaźnika, który uruchomi grzałkę i dogrzeje do tych 27*C i wyłączy. Jeżeli temperatura spadnie znowu poniżej tych 27*C(+-) to znowu ją włączy dogrzeje i się wyłączy i tak w kółko. Wygląda to aktualnie tak:
(IMG:http://i.imgur.com/5Vj8wtH.jpg)

Do tego właśnie była mi potrzebna ta pętla i chciałem to zrobić właśnie tak:
  1. if (isset($_POST['zatrzymaj']))
  2. {
  3. $stop = true;
  4. }
  5. if (isset($_POST['uruchom']))
  6. {
  7. $dtemp = $_POST['docelowaTemp']; // zapisanie do zmiennej $dtemp docelowej temperatury w pomieszczeniu
  8. while ($stop == false)
  9. {
  10. while ($temp < $docelowatemp) // zapętla dopóki temperatura z czujnika < od docelowej temp.
  11. {
  12. include 'temp.php'; // Pobranie temperatury z czujnika
  13. exec("gpio write 2 1"); // Włącza grzałkę
  14. }
  15. exec("gpio write 2 0"); // wyłącza grzałkę
  16. }
  17. }

Ktoś wyżej pisał, że można by zrobić skrypt w js, który by uruchamiał nasz skrypt php co np. sekunde. Jeżeli można by tak zrobić to wtedy tą pętle można by zastąpić instrukcją if else, czymś takim np.
  1. <?php
  2. include 'temp.php';
  3. if ($temp < $a)
  4. {
  5. exec("gpio write 2 1");
  6. }
  7. else
  8. {
  9. exec("gpio write 2 0");
  10. }
  11. ?>


I wtedy ten skrypt był by uruchamiany co sekunde przez js i on by robił za pętle. Tylko nie wiem w ogóle czy tak też można zrobić, czy nie bardzo. Macie jakiś pomysł jak takie coś wykonać?

Ten post edytował mix091 6.12.2015, 13:34:37
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 8.08.2026 - 05:33