![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 3 Dołączył: 9.05.2013 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Witam, potrzebuje skrócić poniższy kod sam sobie jakoś nie mogę z tym poradzić.
Z góry dzięki za pomoc.
Ten post edytował MenTo(S) 1.08.2014, 01:20:40 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 321 Pomógł: 55 Dołączył: 19.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
może tak ...
Kod $range =array(0 => $value1*0.34,
50 => 17 , // $i8 51 => $value1*0.28, 100 => 31, // $i7 //.....i tak dalej ); if($value1 < 0 ) { $wysokosc1 = 0; // $i9 } else { foreach($range as $k=>$v){ if($value1 > $k) $wysokosc1 = $v; } } -------------------- Polecam MyDevil hosting idealny dla deweloperów
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 651 Pomógł: 116 Dołączył: 3.06.2012 Skąd: Lędziny Ostrzeżenie: (0%) ![]() ![]() |
Pętla for, mnożniki tylko musisz zapisać jeszcze do tablicy.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Ale paskudne kodzisko. Kod spaghetti pełną gębą.
Zacznij od nazwania zmiennych po ludzku, bo jakoś nie wiem co to jest $value1 czy $i5. Pomysł kolegi ctom jest dobry, ale ja bym poszedł o krok dalej. Jak widać w tych warunkach występuje inna wartość dla równości (mimo, że zapisanej jako >). Wartości równe tym przedziałowym otrzymują wysokość jako wartość stałą, a wszystkie pośrodku jako iloczyn $value1 (aha!) i jakiejś stałej. Uwzględniłbym tę zależność w projektowaniu tablicy rang, nadając jej kształt na zasadzie:
Ale najpierw napisz co ten potwór robi. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 3 Dołączył: 9.05.2013 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
W sumie fakt nie napisałem co za zadanie ma spełniać kod który wrzuciłem.
Otóż chodzi o to że jeżeli $wartosc ktora jest przykładowo x > 101 wtedy wartość $wysokosc ma byc $value*0.3 czyli 100*0.3. Wtedy $wysokosc okresla mi wysokosc danego <div>. Jako że jestem początkującym zrobiłem to jak zrobiłem ale działało ![]() Reasumując używając tego co podrzucił ctom niezbyt chce to działać.
![]() Słupek pierwszy to mój kod "spaghetti" ![]() Natomiast drugi jest to kod który podrzucił właśnie ctom Ten post edytował MenTo(S) 1.08.2014, 11:21:59 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Mam dziwne przeczucie, że to można zapisać w króciutkim wyrażeniu. Możesz dokładnie wytłumaczyć o co chodzi z $value1 i $value2?
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 3 Dołączył: 9.05.2013 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
$value1,2,3,4 w moim przypadku to będzie pobierana liczba osób z bazy danych.
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Dlaczego wysokość rośnie tak nieregularnie, tzn. raz o 14px, raz o 15px, raz o 16px w ramach jednego przedziału? Czy to zaniedbanie czy jakieś celowe działanie? Bo coś mi się wydaje, że wystarczyłoby to zapisać jednym wyrażeniem arytmetycznym.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 3 Dołączył: 9.05.2013 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Dlaczego wysokość rośnie tak nieregularnie, tzn. raz o 14px, raz o 15px, raz o 16px w ramach jednego przedziału? Czy to zaniedbanie czy jakieś celowe działanie? Bo coś mi się wydaje, że wystarczyłoby to zapisać jednym wyrażeniem arytmetycznym. Tak to zaniedbanie zapewne to poprawie co do kodu może rosnąc równomiernie dla każdego przedziału. |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Najładniej byłoby określić maksymalną możliwą wysokość słupka i maksymalną liczbę użytkowników widoczną na wykresie, np.:
I potem na podstawie liczby użytkowników (dajmy na to $users), nadawać słupkowi odpowiednią wysokość, np.: |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 3 Dołączył: 9.05.2013 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Najładniej byłoby określić maksymalną możliwą wysokość słupka i maksymalną liczbę użytkowników widoczną na wykresie, np.:
I potem na podstawie liczby użytkowników (dajmy na to $users), nadawać słupkowi odpowiednią wysokość, np.: Nie przypuszczałem że można zrobić to takim krótkim kodem ![]() Dzięki wielkie. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 321 Pomógł: 55 Dołączył: 19.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Reasumując używając tego co podrzucił ctom niezbyt chce to działać. kod po refaktoryzacji zwraca wyniki z założeń , a to że miałeś w nich błędy oraz kwestia co z nimi robiłeś później to już inna sprawa -------------------- Polecam MyDevil hosting idealny dla deweloperów
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 7.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Wykresy rysujesz w phpie? Nie prościej użyć jakiejś biblioteki js? Z własnego doświadczenia polecam Chart.js, dobrze współpracuje z JSON'em.
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 7.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
robisz arraya z danymi i potem tylko echujesz to
![]() |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Nie mam pojęcia o co Ci chodzi. W JavaScript nie ma nic takiego jak echowanie.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 16:32 |