Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql] aktualizacja danych
jawka7
post
Post #1





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 23.08.2007
Skąd: Częstochowa/Dubidze

Ostrzeżenie: (70%)
XXXX-


mam w bazie tabele z loginami uzytkownikow i np kolumne z wplywami od sponsorow i chce aktualizowac cala tabela w taki sposob zeby za jednym razem przeleciala kazdego uzytkownika wyciagla kongretne dane dotyczece niego i wyliczyla mu konkretna kwote. jak to zrobic??
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
linuxoida
post
Post #2





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 11.09.2006
Skąd: wawa

Ostrzeżenie: (0%)
-----


Moim zdaniem najpierw powinieneś się chyba nauczyć obsługi tego forum, bo trzeba pokazać kawałek kodu jaki stworzyłeś a nie jak Ty piszesz w zwykłym tekście.
Ale Wracając do bazy w Mysql - u to wydaje mi się, że powinna wyglądać co najmniej tak (bo nawet tabele sa zle napisane):
  1. CREATE TABLE uzytkownik(login autoincrement PRIMARY KEY, stan_konta MONEY);

druga tabela to:
  1. CREATE TABLE sponsorzy(sponsorid autoincrement PRIMARY KEY, nazwa_sponsora VARCHAR, login INT REFERENCES uzytkownik(login));

trzecia to:
  1. CREATE TABLE druzyna(druzynaid autoincrement PRIMARY KEY, nazwa_druzyny VARCHAR, nazwa_ligi CHAR, poziom INT, login INT REFERENCES uzytkownik(login));

Takie jest moje zdanie co do konstrukcji bazy.

Następnie co do zliczania jest jedna wada tego, bo nie wiem czy Twoja baza badzie posiadać kilku stałych użytkowników czy ta ilość się zmienia. Ja zakładam, że ona będzie sie zmieniać. Więc powinieneś zliczyć wszystkich użytkowników jakich masz w bazie i w procentowo w stosunku do ich poziomu przyznawać im kasę.
Podajesz przy tym pętle for() ustalając przy tym największy poziom ligi (ja to zrobie to dla max=10) i wtedy konstrukcja wygląda tak:
  1. <?php
  2. $conn=mysql_connect();
  3. for($max=10; $max>=0; $max--)
  4. {
  5. $select_user=mysql_fetch_row($conn,"SELECT login AS log FROM druzyna WHERE poziom=".$max.");
  6.  for($user_max=0, $procenty_do_przydzielenia=0.6; $select_max<=$select_user, $procenty_do_przydzielenia>=0; $user_max++, $procenty_do_przydzielenia-=0.1)
  7.  {
  8.  $update=msql_query($conn,"UPDATE uzytkownik SET stan_konta=stan_konta+1*".$procenty_do_przydzielenia."");
  9.  }
  10. }
  11. ?>

Moim zdaniem możesz kombinować coś w tym kierunku, ale nie wiem może ktoś ma inne zdanie.


Pozdrawiam!!!
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 22:53