![]() |
![]() |
![]()
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
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 15:47 |