[MySQL][PHP]Tablica z przedziałem wartości z BD |
[MySQL][PHP]Tablica z przedziałem wartości z BD |
19.11.2018, 16:43:21
Post
#1
|
|
Grupa: Zarejestrowani Postów: 427 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) |
Witam napotkałem problem przy tworzeniu tablicy array
Tym sposobem wyświetlam odpowiednią ikonkę
Niestety wywala mi błąd
W bazie danych wartość wwindBearing = 97 więc powinna być widoczna ikona bo ta wartość znajduje się w tym przedziale >=90 && <100 |
|
|
19.11.2018, 16:55:13
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Naprawdę uważasz, że jeśli przypiszesz elementowi tablicy klucz '>=90 && <100', to podając 97 wybierzesz właśnie ten element?
Powinieneś utworzyć tablicę gdzie kluczami są wartości z dołu lub góry zakresu - w zależności od sposobu podejścia do wybierania. -------------------- |
|
|
19.11.2018, 17:25:30
Post
#3
|
|
Grupa: Zarejestrowani Postów: 427 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) |
Ale zakres to od 0 do 360 Chyba jest jakiś inny sposób aby zrobić to w danym zakresie np:
od 0 do 70 od 70 do 140 od 140 do 190 od 190 do 260 od 260 do 330 od 330 do 360 |
|
|
19.11.2018, 17:43:12
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Przykład, który pokazujesz, to nie zakres od 0 do 360, ale kilka zakresów. Rozwiązanie podałem Ci wyżej.
-------------------- |
|
|
19.11.2018, 17:58:56
Post
#5
|
|
Grupa: Zarejestrowani Postów: 427 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) |
Możesz jaśniej.
Pobierana wartość z bazy danych jest w zakresie od 0 do 360 więc może być to liczba w tym zakresie. Mam to tak robić?
|
|
|
19.11.2018, 18:09:36
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Tablicę z ikonami powinieneś zbudować tak, aby kluczem była dolna lub górna wartość przedziału. Nie przedziału, w którym zawiera się badana liczba, lecz przedziału, z którym porównujesz. Czyli tabela, którą pokazałeś na początku, i o której cały czas piszę, że jest niepoprawnie zbudowana.
-------------------- |
|
|
19.11.2018, 19:24:26
Post
#7
|
|
Grupa: Zarejestrowani Postów: 427 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) |
Teraz to już nic nie kumam zakręciłeś mnie w tym wszystkim.
Podaj mi jakiś przykład z podobnymi wartościami to może lepiej mi to wejdzie, bo po twoim ostatnim poście jestem zakręcony jak ... |
|
|
19.11.2018, 19:26:11
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Tyle już jesteś na forum...
-------------------- |
|
|
19.11.2018, 19:42:47
Post
#9
|
|
Grupa: Zarejestrowani Postów: 427 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) |
Niestety tak nie zadziała bo potrzeba jest dokładna wartość nie tylko 90 ale w tym przypadku 97.
Ten post edytował brzanek 19.11.2018, 19:44:11 |
|
|
19.11.2018, 19:46:33
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
A nie wydaje Ci się, że 97 wpada w przedział między 90 a 100? Czyli powinieneś na podstawie tej tabeli podstawić ikonę wiatr_poludnie?
Jak sobie zbudujesz przedziały, to już Twoja sprawa. Na pewno nie ma kompletnie sensu robienie czegoś takiego:
Jeszcze raz: jako klucz tabeli ma być dolna, albo górna granica przedziału. -------------------- |
|
|
19.11.2018, 19:46:49
Post
#11
|
|
Grupa: Zarejestrowani Postów: 427 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) |
Może inaczej mam 8 ikonek z kierunkiem wiatru. W bazie danych kierunek wiatru wyrażany jest w stopniach od 0 do 360. Potrzebuję wyświetlać ikonę z kierunkiem wiatru ale nie co 1 stopień tylko np. co 25 stopni - dlatego potrzebny jest mi przedział w tablicy.
|
|
|
19.11.2018, 19:51:07
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
To sobie zbuduj tablicę z przedziałami co 25, a nie co 10.
-------------------- |
|
|
19.11.2018, 20:03:44
Post
#13
|
|
Grupa: Zarejestrowani Postów: 427 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) |
Co 25 czyli?
Jeszcze raz podkreślam, że tak to nie działa. Tym wywołaniem wyświetlam ikonę
Jeśli teraz wwindBearing wynosi 74 to ta tablica
nie zadziała bo nie ma w niej wartości 74. |
|
|
19.11.2018, 20:05:29
Post
#14
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
A nie wydaje Ci się, że 97 wpada w przedział między 90 a 100? Czyli powinieneś na podstawie tej tabeli podstawić ikonę wiatr_poludnie? A 74 gdzie wpada? Nie przyszło Ci na myśl, który element z tablicy wybrać na podstawie zadanej wartości? -------------------- |
|
|
19.11.2018, 20:13:03
Post
#15
|
|
Grupa: Zarejestrowani Postów: 427 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) |
|
|
|
19.11.2018, 20:16:28
Post
#16
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Fatalnie.
Lecisz po tablicy, sprawdzasz czy zadana wartość jest większa lub równa od klucza pierwszego elementu, jeśli tak, to zapisujesz na boku wartość klucza. Przechodzisz do kolejnego elementu. Jeśli warunek w danym momencie nie jest spełniony, to klucz jest szukanym kluczem i wskazuje na odpowiedni przedział. A skoro wykorzystujesz bazę danych, to zrób to jednym zapytaniem: http://kawalekkodu.pl/kochanie-trzeba-brac...-w-przedzialach -------------------- |
|
|
19.11.2018, 20:57:01
Post
#17
|
|
Grupa: Zarejestrowani Postów: 427 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) |
Kombinuję trochę z zapytaniem
Ale pojawia mi się w tej linii błąd |
|
|
19.11.2018, 21:02:37
Post
#18
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Serio chcesz tyle przedziałów pchać do jednego zapytania? Powodzenia...
Zobacz jak wygląda prawidłowa składnia funkcji CASE. -------------------- |
|
|
19.11.2018, 21:07:43
Post
#19
|
|
Grupa: Zarejestrowani Postów: 427 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) |
Nie chcę ale kombinuję jak mogę.
Więc jak powinno to wyglądać z tablicą array? Po twoich wypowiedziach niestety nic mi nie przychodzi do głowy. |
|
|
19.11.2018, 21:11:38
Post
#20
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Nie przesadzaj podałem Ci dwa rozwiązania. W tym jednego gotowca, a Ty wymyślasz wciąż coraz bardziej karkołomne rozwiązania.
Pisałem o tym w poście nr 16. Sprawdzasz po kolei wartość z kluczami tablicy. -------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 09:23 |