Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]złe przypisywanie punktów
damian238
post
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 3.11.2013

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


cześć,
mam coś takiego:
  1. $players_list = query('SELECT players.*, zawody.id as conID FROM zawody
  2. INNER JOIN players on players.id=user_id ORDER BY bieg DESC LIMIT 30', null, 'fetch_all');
  3.  
  4. $points = 50;
  5. foreach($players_list['fetch'] as $player)
  6. {
  7. query('UPDATE zawody SET punkty='.$points.' WHERE id=?', array($player['conID']));
  8.  
  9. $points--;
  10. }

a gdy sb to wykonam to mi do każdego gracza przypisuje jakąś liczbę punktów z tą różnicą tylko,
że nie w kolejności od najlepszego do najgorszego, a jakoś tak chaotycznie, bez żadnej reguły
Proszę o pomoc (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
damian238
post
Post #2





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 3.11.2013

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


dobra, coraz bardziej ogarniam (IMG:style_emoticons/default/smile.gif)
poprawiłem błąd i zrobiłem tak:
w bazie mam takie rubryki:
  1. id user_id time bieg punkty
  2. 1 5 1385480672 2458.78 50
  3. 2 6 1385480690 2518.34 49
  4. 3 7 1385480712 2488.56 48
  5. 4 8 1385480730 2726.8 47
  6. 5 9 1385480750 2518.34 46
  7. 7 4 1385816738 2607.68 45

jeśli sb zrobię punktowanie według time:
  1. $players_list = query('SELECT players.*, zawody.id as conID FROM zawody
  2. INNER JOIN players on players.id=user_id
  3. ORDER BY time ASC', null, 'fetch_all');
  4.  
  5. $points = 50;
  6. foreach($players_list['fetch'] as $player)
  7. {
  8. echo 'Punktów: '.$points.' - Dla: '.$player['conID'].' użytkownika';
  9. echo '<br />' ;
  10.  
  11. $points--;}

to mam wtedy:
  1. Punktów: 50 - Dla: 1 użytkownika
  2. Punktów: 49 - Dla: 2 użytkownika
  3. Punktów: 48 - Dla: 3 użytkownika
  4. Punktów: 47 - Dla: 4 użytkownika
  5. Punktów: 46 - Dla: 5 użytkownika
  6. Punktów: 45 - Dla: 7 użytkownika


ale jak według bieg:
  1. ORDER BY bieg', null, 'fetch_all');

to wtedy mam:
  1. Punktów: 50 - Dla: 1 użytkownika
  2. Punktów: 49 - Dla: 4 użytkownika
  3. Punktów: 48 - Dla: 2 użytkownika
  4. Punktów: 47 - Dla: 5 użytkownika
  5. Punktów: 46 - Dla: 3 użytkownika
  6. Punktów: 45 - Dla: 7 użytkownika

i to się w żaden sposób nie trzyma niczego (IMG:style_emoticons/default/co_jest.gif)
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: 17.10.2025 - 17:36