![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Mam tabelę kwoty a w niej pola:
id | kwota | data i rekordy: 1 | 2.00 | data 2 | 3.00 | data 3 | 1.00 | data czyli wychodzi 6.00 Teraz chciałbym policzyć sumę kwota wszystkich rekordów jakie są w tej tabeli. Pewnie to jest proste, ale wypadło mi z głowy (IMG:style_emoticons/default/businesssmiley.png) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 360 Pomógł: 34 Dołączył: 20.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
"SELECT SUM(licznik) AS suma FROM wiersz" - można na przykład tak.
Ten post edytował Mega_88 21.01.2014, 18:53:10 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, o to chodziło (IMG:style_emoticons/default/wink.gif)
Mam też następny problem, a w zasadzie brak pomysłu związanego z tym wyżej. Tak jak wyżej mam w tabeli takie rekordy: 1 | 2.00 | data 2 | 3.00 | data 3 | 1.00 | data I teraz chcę zrobić, aby każdy gracz mógł zrobić wypłatę. Sumę punktów na koncie zliczam sobie tym zapytaniem co podał Mega_88 wyżej, ale jak teraz zrobić wypłatę? Powiedzmy mam te 6.00 goldów, chcę wypłacić 3.00 goldy. Nie mam pomysłu zupełnie na to... Jak to co napisałem jest niezrozumiałe to postaram się to inaczej wytłumaczyć. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 324 Pomógł: 27 Dołączył: 21.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Chcesz usunąć wiersz z tabeli o id 2, czy zmienić któregoś wartość?
To powinno Ci wszystko wyjaśnić (IMG:style_emoticons/default/smile.gif) webmade.org/kursy-online/kurs-mysql.php |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Nie o to mi chodzi.
Jest tabela zarobki a w niej pola: id | kwota | data | id_usera i kilka rekordów: 1 | 2.00 | 20.05.2014 | 1 1 | 3.00 | 20.05.2014 | 2 1 | 2.00 | 20.05.2014 | 1 1 | 5.00 | 20.05.2014 | 1 1 | 3.00 | 20.05.2014 | 1 I zliczam sobie ile dany user ma zarobionych goldów i wyświetlam: SELECT SUM(kwota) FROM zarobki WHERE id_usera = 1 Zarobione: 12.00 goldów Podstrona WYPŁATA a w niej zwykły formularz z inputem do wpisania kwoty i submit. Powiedzmy, że chcę wypłacić 10 goldów. Wpisuję w formularzu 10.00 i klikam wypłać. Po naciśnięciu przycisku skrypt ma odjąć tą ilość. I tutaj pojawia się problem bo nie wiem jak to zrobić, a dokładniej nie wiem jakiego zapytania mam użyć. Nie mogę usunąć tych rekordów bo chcę wyświetlać archiwum zarobków, więc tabela zarobki nie może się zmienić. Myślałem o takich cudach jak dopisanie w tabeli USERS pola AKTUALNE_ZAROBKI, tylko teraz nie wiem jak tam przekazać aktualnie zarobione goldy, bo rekordy w tabeli ZAROBKI dodają się dość często. I ogólnie to chyba nie najlepszy pomysł... Nie wiem czy to jest aż tak skomplikowane czy po prostu wcześniej źle to opisałem, ale kompletnie na tym poległem (IMG:style_emoticons/default/biggrin.gif) Zapytania znam dobrze, ale z pamięcią jest gorzej (IMG:style_emoticons/default/smile.gif) Ten post edytował d.stp 21.01.2014, 21:52:49 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 324 Pomógł: 27 Dołączył: 21.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Ja bym zrobił tak, że tą tabele zostawiasz i to niech będzie te twoje archiwum, a tworzysz kolejna tabele i tam masz te same pola lecz wierszy tylko po 1 dla gracza.
I w danym masz: 1 | 12.00 | 20.05.2014 | 1 2 | 8.00 | 25.05.2014 | 2 3 | 2.00 | 10.06.2014 | 3 Czyli, id, całe posiadane gold gracza, data zmiany salda, id gracza Operacji dokonujesz tylko na tej tabeli- aktualizując ją Pobierasz zapytaniem saldo gracza, odejmujesz od niego podaną kwotę i aktualizujesz. Albo jest 2 możliwość ( nie jestem pewien czy będzie działać ). W tej tabeli, którą teraz masz dodajesz nowy rekord z kwotą ujemną dla danego gracza i przy sumowaniu powinno Ci to odjąć. Odrazu będzie archiwum zarobków jaki wypłat, np. 1 | 2.00 | 20.05.2014 | 1 2 | 3.00 | 20.05.2014 | 2 3 | 2.00 | 20.05.2014 | 1 4 | 5.00 | 20.05.2014 | 1 5 | 3.00 | 20.05.2014 | 1 6 | -10.00 | 20.05.2014 | 1 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Czyli jednak trochę to skomplikowane (IMG:style_emoticons/default/wink.gif)
Przeanalizowałem dokładnie podany przez ciebie 1 sposób i chyba to będzie najlepsze rozwiązanie. Te 2 rozwiązanie też by zadziałało, ale nie mogę go zastosować bo będzie bałagan, a poza tym to nie najlepszy pomysł, bo chcę mieć historię wypłat (czyli ilość goldów, data, ip i sporo innych) i po prostu zrobi się śmietnik, a zakładam że tych rekordów będzie bardzo dużo i wolałbym tego uniknąć Może ktoś inny ma jeszcze jakiś pomysł? Dzięki wielkie kujol, później dam plusa (IMG:style_emoticons/default/biggrin.gif) Ten post edytował d.stp 21.01.2014, 22:42:12 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 13:51 |