Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 0 Dołączył: 26.08.2009 Skąd: Zamojsce Ostrzeżenie: (0%)
|
(IMG:http://images48.fotosik.pl/188/36eb6354103b063bm.jpg)
SCREEN Na screenie widać prosty schemat tabeli w bazie danych Na dole struktura a na górze rekordy Mamy 8 dni i 4 produkty dla których trzeba policzyć Popyt średni i Odchylenie Standardowe Kolega proponuje tak obliczać Pśr i OS Cytat("Norbert") $pytanko="SELECT popyt_klej FROM popyt"; $rezultat = mysql_query($pytanko) or die("Błąd zapytania"); $tablica = mysql_fetch_array($rezultat); $n=count($tablica); $srednia=0; for($i=0;$i<=$n;$i++) { $srednia=$srednia+$tablica[$i]; } $srednia=$srednia/$n; for($i=0;$i<=$n;$i++) { $wyraz_srednia=$tablica[$i]-$srednia; // tutaj do zmiennej $wyraz_srednia przypisujesz roznice danej liczby i sredniej wszystkich liczb $tablica2[$i]= $wyraz_srednia * $wyraz_srednia; } for($i=0;$i<=$n;$i++) { $wynik=$wynik+$tablica2[$i]; //dostajesz sume tych wszystkich kwadratow roznicy wyrazu i sredniej; } $wynik=sqrt($wynik); echo "<h1>Srednia: ".$srednia."</h1><P>"; echo "<h1>Odchylenie: ".$wynik."</h1><P>"; Kod daje takie wyniki dla popyt_klej i popyt_srubki Srednia: 10 Odchylenie: 17.320508075689 Kod daje takie wyniki dla popyt_farba i popyt_drewno Srednia: 5 Odchylenie: 8.6602540378444 Powinna wyjść średnia dla popyt_klej: 160/8 czyli 20 Mam takie pytanie: Czy da radę napisać tak kod aby później była możliwość dodawania kolejnych wierszy Id=9, data, popyty dla poszczególnych towarów itd... oraz możliwość dodawania towarów, czyli chodzi mi o taki kod który by liczył Pśr i OS nawet gdy tabela będzie się rozrastać w 2 wymiarach Chyba nie ma sensu dla każdego towaru robić osobną tabelę w bazie danych. Takie rozwiązanie jakie prezentuje screen, że w jednej tabeli są wszystkie towary i wszystkie wartości popytu jest chyba najlepszy. Tylko problem z tym ciężkim do wymyślenia kodem. Jakby ktoś był w stanie coś wymyśleć to proszę o jakieś pomysły lub kontakt GG 3257134 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 0 Dołączył: 26.08.2009 Skąd: Zamojsce Ostrzeżenie: (0%)
|
Pomysł bardzo fajny Dziękuje za pomoc Po dodaniu nowych rekordów średnia będzie nadal liczona poprawnie. Tylko, że jest problem taki, że gdy dodam do tabeli nowy produkt to raz że trzeba zmieniać dopisując
i tu zmieniając 4 na 5
Dodatkowo gdy nowy produkt zacznie mieć wpisywane wartości od id=9 to 8 pierwszych pozycji będzie pustych a skoro są na NOT NULL to będą brane chyba zera do średniej Problem polega na tym, że marzy mi się kod który będzie stały, którego nie trzeba będzie zmieniać po każdym dodaniu produktu Tylko że SELECTA chyba w pętle wziąźć nie można żeby zrobić coś w stylu
Kolega z innego forum proponuje coś w tym stylu: nowy projekt bazy danych: (IMG:http://ambitni.eu/files/thumbs/t_1_313.png) przykładowa tabela: (IMG:http://ambitni.eu/files/beztytuu_799.png) Proponuje taki kod:
Tylko że też jest problem bo policzy to dla Id=1 i jak damy to dla 2 3 i 4 ale jak zrobić żeby dodać 5 produkt i żeby nie dodawać linijki
|
|
|
|
damianprz Obliczanie średniej i odchylenia standardowego 26.08.2009, 17:47:27
*OuTSideR* przy obliczaniu sredniej zmien znak <= na < ... 26.08.2009, 18:22:25
damianprz I co to da?
Próbowałem i nic
Powyższy kod bierze ... 26.08.2009, 21:20:22
thek Wartość średnia to prosta sprawa, robisz bowiem su... 26.08.2009, 22:09:38
damianprz Tylko jak zrobić
sumowanie wszystkich wartości w k... 26.08.2009, 22:19:13
thek Sumowanie wszystkiego w kolumnie:
[SQL] pobierz, p... 26.08.2009, 22:47:41
thek Problemy które poruszasz w poście zaznaczyłem po o... 27.08.2009, 13:01:53
damianprz Na screenie widać 3 tabelki które zrobiłem wg twoj... 27.08.2009, 15:06:49
thek Bo z rozpędu nie dopisałem warunku łączenia
[SQL]... 27.08.2009, 15:59:16
damianprz Możesz mi sprawdzić czy to jest OK?
Do wyświetlani... 27.08.2009, 16:04:56
thek Kod wygląda poprawnie. W sumie chyba jedynie nie m... 27.08.2009, 20:02:28
damianprz Dzięki stary za pomoc
Powyższe obliczenia stosuje ... 27.08.2009, 21:46:24
thek No jasne. Zauważ, że grupujesz dane po id_towaru. ... 27.08.2009, 23:38:49
damianprz Oj kolego thek, co ja bym bez Ciebie zrobił
Dzięk... 28.08.2009, 00:00:18
thek A ja życzę powodzenia w kodzie php/html i analizie... 28.08.2009, 00:54:52
damianprz Ponoć ma być raczej pod koniec września tak żeby j... 28.08.2009, 18:21:36
thek Zapytanie sypie Ci błąd bo nie nadałeś aliasu dla ... 28.08.2009, 21:37:08
damianprz Już wcześniej ustawiłem wartości na double z obawy... 28.08.2009, 21:53:30
thek Nie dublujmy może tematów i skupmy się w jednym U... 28.08.2009, 23:31:14
damianprz [PHP] pobierz, plaintext UPDATE zapasy z LEFT JOIN... 29.08.2009, 11:40:41
thek Owszem Mam na laptopie swoim wszystko co potrzebn... 29.08.2009, 13:21:54
damianprz Już wszystko działa!
Instalka Vertrigo pomogła 29.08.2009, 13:28:35
thek Widzę, ze sugestia o fatalnym wpływie MySQL 3.X na... 29.08.2009, 16:20:12
MMaro Witam
odkopuje temat - ponieważ mam problem z ob... 21.06.2012, 17:50:42
thek Pytanie... Po co obliczać odchylenie samemu, skoro... 21.06.2012, 19:20:41 ![]() ![]() |
|
Aktualny czas: 17.12.2025 - 08:35 |