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: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
Zapytanie sypie Ci błąd bo nie nadałeś aliasu dla podzapytania... Zauważ, że po nawiasach nie masz nazwy tego, choć sądząc z całości powinno tam być napisane produkty. Tworzenie tabeli nie jest konieczne. Ważne byś miał gdzieś możliwość przechowania informacji o aktualnych danych jakie wyliczasz i tych jakie potrzebujesz (jak aktualny stan produktu). Może to być wspomniana Zapasy czy jakakolwiek inna, która jest związana bezpośrednio z danym produktem (drewnem, śrubkami) poprzez id_towaru. Opisana przez Ciebie dobrze pasuje, z jednym małym zastrzeżeniem. Średnia i odchylenie muszą być wartościami zmiennoprzecinkowymi, czyli FLOAT lub DOUBLE, bo inaczej przytnie Ci wartości za przecinkiem, gdyż pole to masz na int ustawione. Wygodniej będzie double bo ma większą precyzję.
Ten post edytował thek 28.08.2009, 21:38:38 |
|
|
|
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
damianprz [PHP] pobierz, plaintext Średnia wynosi: 10.625, a... 27.08.2009, 11:59:54
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
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 |