![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 97 Pomógł: 0 Dołączył: 9.03.2006 Skąd: Opole Ostrzeżenie: (10%) ![]() ![]() |
Zrobiłem program, który rysuje wykresy. Jeden plik, który obrabia dane i na ich podstawie rysuje obrazek (png) jest odpalany w ramce <iframe> drugiego pliku, w któym chcę operować teraz wykresami. Mianowicie potrzebuje napisać teraz coś takiego, aby można było spośród kilku linii wybrać tylko niektóre, lub zostawić jedną. Czy tu jest niezbędna java czy można to zrobić jakoś w miare prosto za pomocą php?
Chciałbym aby to wyglądało jak tu - możliwość zaznaczenia siatki, czy linii województw: http://www.imgw.pl/wl/internet/zz/pogoda/radary.html Widze że tu jest wykorzystana java ale czy da sie to w php? Myślałem już aby wszystkie dane wykorzystane to generowania całego wykresu wrzucać do bazy a potem można było po wygenerowaniu wybrać to co nas interesuje i pobrać z bazy tylko część danych i tworzyć nowy obrazek, no ale to za długo będzie trwać. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 530 Pomógł: 0 Dołączył: 15.01.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
nie trzeba chyba tego robić w iframe, chyba że koniecznie potrzebujesz takiego rozwiązania.
Zrób to na zasadzie nakładania się obrazków i użyj advajaxa (lub samego javascript) NP: -pobierasz z bazy dane -do wszystkich danych robisz oddzielne wykresy (najlepiej zapisujesz je - każdy w oddzilnym pliku) -nakładasz je (do 1 pliku przez php, bądź nakładasz przez javascript jeden na drugi) i wyświeltasz użytkownikowi który np. przez checkboxy wybiera sobie które chce -ajax steruje tym wszystkim - tzn wysyła query o dokładnie te wykresy które chce użytkownik (w przypadku użycia php) i tutaj masz 2 możliwośći: albo javascript łączy wszystkie obrazki - nakładając je na siebie, lub php łączy je w 1 tylko obrazek i wyświela go przez ajaxa. Teoretycznie javascript opłaca się bardziej, bo php nie musi tworzyć obrazka (chyba, że byłby cachowany...), poza tym z php za każdym razem wyświetlany byłby nowy obrazek, a javascript poprostu "zabierałby" wykresy Ten post edytował Master Miko 1.10.2006, 13:00:38 -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 97 Pomógł: 0 Dołączył: 9.03.2006 Skąd: Opole Ostrzeżenie: (10%) ![]() ![]() |
Po poerwsze to właśnie nie chce mieć wykresu w <iframe> tylko nie wiedziałem jak zrobić bo miałem problem z nagłówkami.
Teraz kolejny problem - nie mam pojęcia o ajax, a java kuleje (dlatego pytałem o php ale sam bym wolał jave bo widze że łatwiej i szybciej na podanym przykładzie), więc musze poszukać w necie jakiś podobnych skryptów ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 530 Pomógł: 0 Dołączył: 15.01.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
BTW: JavaScript, a nie JAVA! To są dwie różne rzeczy.
Poza tym, nie trzeba ajaxa. Wystarczy pare sztuczek ![]() Możesz zrobić to w ten sposób: 1. Powiedzmy, że masz dane w tabelach i te dane masz jakoś ponazywane... np: - abc - def - ghi 2. plik wykres.php będzie tworzył obrazek na takiej zasadzie, że będziesz mu podawał tylko te dane które chcesz - a on zrobi odpowiedniej wielkości wykres: - wykres.php?type=abc - wykres.php?type=def - wykres.php?type=ghi 3. teraz w pliku index.php toworzysz parę divów które muszą znajdować się w tym samym miejscu (dajesz im absolute i gdzieś układasz) a pod nimi checkboxy każdy odpowiedzialny za każdy wykres (abc,def,ghi) 4. Teraz piszesz im w onChange funkjce która bada czy są zaznaczone czy nie. 5. Funkcja rozpoznaje czy: A ) CHeckbox jest zaznaczony - ustawia DIV na visible B ) Checkbox jest niezaznaczony - ustawia DIV na hidden Tu masz przykład jak to działa: Div i visibility Jest to bardzo proste rozwiązanie i dobre w odbiorze. Powinno dobrze się sprawdzać. Ten post edytował Master Miko 2.10.2006, 14:19:23 -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 97 Pomógł: 0 Dołączył: 9.03.2006 Skąd: Opole Ostrzeżenie: (10%) ![]() ![]() |
Coś mi nie chce dzialać. Napisałem coś takiego dla DIV'ów:
a checkbox'a mam:
próbowałem też z onChange ale to samo ![]() Wcześniej napisałem prostszą funkcje ale działała tylko w jednąstrone, wyłączała div a drugi chceckbox włączał div'a a ja potrzebuje jednym checkbox'em działać w obie strony. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 530 Pomógł: 0 Dołączył: 15.01.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
A nie przypadkiem powinno być tak?
Zmień również nazwę funkcji, np - na changeVisibility -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 97 Pomógł: 0 Dołączył: 9.03.2006 Skąd: Opole Ostrzeżenie: (10%) ![]() ![]() |
Nie działa mi :/ oczywiście mam onclick="change('... Zmiana nazwy funkcji też przecież nic nie daje. Sprawdziłem.
Jaki jestem zakręcony aaaaaa!!!! zapomniałem zamknąć funkcji ![]() Ten post edytował japek 7.10.2006, 12:06:47 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 29.06.2025 - 10:18 |