![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 1.01.2008 Ostrzeżenie: (10%) ![]() ![]() |
A więc od przez pare ostatnich dni walcze z jednym skryptem ktory ma za zadanie - z logow gry - wplat do klanu - wyliczyć srednią dla każdego wpłacającego.
Dane otrzymuje w takiej postaci: Cytat [2014-02-15 17:21:52] Tomek123 742 521 250 zł [2014-02-15 10:37:34] Kamil 200 000 000 zł [2014-02-14 20:03:58] Janek12 200 000 000 zł [2014-02-14 16:20:16] Bartek 237 606 800 zł [2014-02-14 16:19:36] Kamil 200 000 000 zł [2014-02-14 10:31:36] Don Vito 000 000 zł [2014-02-14 08:31:07] Don Vito 623 717 850 zł [2014-02-11 13:30:53] Bartek 1 379 187 686 zł Po długiej walce udało stworzyć mi sie taki kod: efekt można zobaczyc na stronie "http://lobots.no-ip.pl/"
Po wklejeniu wcześniej podanych danych otrzymuje taki efekt: Cytat Tomek123 742521250 Kamil 200000000 Janek12 200000000 Bartek 237606800 Kamil 200000000 Don Vito 000000 Don Vito 623717850 Bartek 1379187686 Załadowano 9 rekordów Chciał bym podać końcowe zestawienie tzn. zsumować wpłaty dla wszystkich ktorych imiona sie powtarzają. Nie za bardzo wiem w jaki sposob przechowywac dane aby moc na nich pozniej spokojnie operować. Jako że jestem troszke oporny w szybkim przyswajaniu nowej wiedzy proszę o przykłady. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Dane zapisuj do tablicy
Na samym poczatku kodu daj: $users = array(); Zas zamiast tego echo $temp_nick, $temp_kwota ." <BR />"; dodaj kod
Ten kod stworzy ci tablice. Zrob sobie print_r($users); na koncu a zobaczysz jak wyglada ta tablica. Mozesz wowczas bez problemu sumowac czy co tam ci sie zywnie podoba -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 1.01.2008 Ostrzeżenie: (10%) ![]() ![]() |
Rozumiem stworzyłeś tu tablice wielowymiarową z indeksem jako nazwa uzytkownika.
Czy może prościej było by zapisywać informacje do bazy danych. Chcial bym upublicznic skrypt jednak boje sie że korzystanie z mysql bez odpowiedniej walidacji danych moze narazic mnie na niebezpieczenstwo. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
A po co zapisywac ci to do bazy, skoro chcesz wyliczac dane na biezącą?
No chyba ze zamierzasz trzymac te dane na dluzej, to tak, mozesz pisac do bazy. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 1.01.2008 Ostrzeżenie: (10%) ![]() ![]() |
A po co zapisywac ci to do bazy, skoro chcesz wyliczac dane na biezącą? No chyba ze zamierzasz trzymac te dane na dluzej, to tak, mozesz pisac do bazy. Jednak sie na tym klade - tablice wielowymiarowe to zbyt szybko dla mnie ;/ Mogł byś jeszcze pomóć w jaki sposob zsumować te dane? i wyświetlic "$nick wpłacił $suma" Nie wiem w jaki sposob odnieść sie masowo do tych tablic skoro indeksem nie moze byc $i++ ;/ |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Nie wiem w jaki sposob odnieść sie masowo do tych tablic skoro indeksem nie moze byc $i++ ;/ Do latania po tablicach uzywa sie FOREACH - wowczas zadne $i ci niepotrzebne
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 1.01.2008 Ostrzeżenie: (10%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Ogolnie tak.
Ale w tym wypadku wystarczy tylko jedno FOREACH by przeleciec po nickach, a potem to juz tylko array_sum itp. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 1.01.2008 Ostrzeżenie: (10%) ![]() ![]() |
A aby posortować po sumie wpłat? Prawdopodobnie musiał bym utworzyc kolejna tablice gdzie zapisywał bym juz zsumowane wpłaty i wtedy sortowanie było by proste
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 02:24 |