Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Porównywanie wartości
knypraca
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 9.11.2014

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


Witam!
Mam skrypt sprawdzający wartość, jeśli jest mniejsza załącza się alarm.
  1. if ($rzwlot[6] <= 120) {
  2. echo "<font color='red' >ALARM! Niski tlen ($rzwlot[6]) na sondzie ($rzwlot[2]) ALARM!</font><br>";
  3. $x = "ALARM!Wlot";
  4. $alarm = 1;
  5. }

W tej postaci wszystko działa rzwlot pokazuje wartośc "81.8 %sat" i uruchamia się alarm.
Chciałem mieć możliwość przestawiania/wyłączania alarmu.
Zrobiłem w mysql tabelkę alarmy.
Ściągam dane z niej:
  1. $zapytanie = "SELECT * FROM $tabela WHERE id = 1";
  2. $wynik = mysql_query($zapytanie);
  3. while ( $row = mysql_fetch_row($wynik) ) {

echo "$row[1]"; pokazuje mi wartość 120. Jeśli jednak próbuję
  1. if ($rzwlot[6] <= $row[1])

To alarm się nie uruchamia.
Dlaczego?
Próbowałem już nawet
  1. $bla = $row[1] - $rzwlot[6];
  2. echo "$row[1] - $rzwlot[6] = $bla<br>";
i ładnie mi minusuje (120 - 81.7 %sat = 38.3), natomiast jak row jest wstawione do warunku, to nie działa.
Prosiłbym o pomoc.

Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




var_dump($rzwlot[6]);
var_dump($row[1]);
if ($rzwlot[6] <= $row[1])

I pokaz dokladnie co to zwraca. Pamietaj, by ten kod wstawic bezposrednio przed IF
Go to the top of the page
+Quote Post
knypraca
post
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 9.11.2014

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


  1. string(9) "81.3 %sat" string(3) "120" WLOT TLEN - W normie
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Kurcze, ale ty masz porownywac liczby a nie teksty...
81.3 %sat - przeciez to tekst a nie liczba...

zrzutuj na INT obie wartosci, potem porownuj. Teraz porownujesz tekst z tekstem, to logiczne ze nie dziala jak trzeba
Go to the top of the page
+Quote Post
knypraca
post
Post #5





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 9.11.2014

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


No ale mnie zastanawia dlaczego jak podstawiam liczbę 120 to wszystko działa jak należy. Tak samo z równaniem, które również wykonuje się poprawnie.
Czy jest jakaś możliwość zamiany tego na samą liczbę?
Akurat daną rzwlot pobieram z preg_match :/

Edit:
Dobra mam (IMG:style_emoticons/default/smile.gif)
$rzwlot = (int) $rzwlot[6];
Podziękował (IMG:style_emoticons/default/smile.gif)

Ten post edytował knypraca 16.02.2015, 16:13:05
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
No ale mnie zastanawia dlaczego jak podstawiam liczbę 120 to wszystko działa jak należy
Bo masz jawnie podane, ze to liczba i wowczas php sam w tle rzutuje tekst na liczbe.

Tak ma byc:
if (((int)$rzwlot[6]) <= ((int)$row[1]))
Go to the top of the page
+Quote Post
knypraca
post
Post #7





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 9.11.2014

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


  1. $rzwloty = (float) $rzwlot[6];
  2. if ($rzwloty <= $row[1]) {
  3. echo "<font color='red' >ALARM! Niski tlen ($rzwlot[6]) na sondzie ($rzwlot[2]) ALARM!</font><br>";

Ten kod mi chodzi ładnie.
Jest jakaś równica między tym co podałeś?
No może jest ciut dłuższy (IMG:style_emoticons/default/smile.gif)

btw. row[x] jest już int'em wprost z bazy.

Ten post edytował knypraca 16.02.2015, 16:24:04
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Jest jakaś równica między tym co podałeś?

Taka, ze ja rzutuje na int a ty na float. Naprawde tego nie widzisz? (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
knypraca
post
Post #9





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 9.11.2014

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


Nie no luzik (IMG:style_emoticons/default/smile.gif) to widziałem (IMG:style_emoticons/default/smile.gif) wolę float używać (IMG:style_emoticons/default/smile.gif) dzięki jeszcze raz za pomoc (IMG:style_emoticons/default/smile.gif)
SOLVED!
Go to the top of the page
+Quote Post

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: 21.10.2025 - 17:10