Wątek przeniesiony 2020-11-12 17:10 z Bazy danych przez cerrato.

Pobranie danych z tabeli

0

Nie potrafię jakoś tego ogarnąć. Poniżej jest kod który robi reset ligi, zeruje wszystkie statystyki, łączenie z 'min_target_rank' - to tak zwany cel sezonu. I chciałbym aby ta kolumna przybrała wartość miejsca z poprzedniego sezonu.

// reset clubs statistics of teams which have not been moved
		$teamcolumns = array();
		$teamcolumns['sa_tore'] = 0;
		$teamcolumns['sa_gegentore'] = 0;
		$teamcolumns['sa_spiele'] = 0;
		$teamcolumns['sa_siege'] = 0;
		$teamcolumns['sa_niederlagen'] = 0;
		$teamcolumns['sa_unentschieden'] = 0;
		$teamcolumns['sa_punkte'] = 0;
                $teamcolumns['min_target_rank'] = 0;
		$db->queryUpdate($teamcolumns, $conf['db_prefix'] .'_verein', 'liga_id = %d', $season['liga_id']);

W tabeli poniżej zapisują się osiągnięcia poprzedniego sezonu.

// create achievement log
				$db->queryInsert(array(
					'user_id' => $team['user_id'],
					'team_id' => $team['id'],
					'season_id' => $season['id'],
					'rank' => $rank,
					'date_recorded' => $website->getNowAsTimestamp()
				), $conf['db_prefix'] .'_achievement');

Dodanie zmiennej $rank powoduje, że każdy klub w nowym sezonie ma ten sam cel np. 2 miejsce. A powinno być tak, że jeśli Klub A zajął 3 miejsce to jego cel w nowym sezonie to $teamcolumns['min_target_rank'] = 3; zaś klubu B np. $teamcolumns['min_target_rank'] = 10;

cały kod:
https://github.com/ihofmann/open-websoccer/blob/master/websoccer/admin/pages/season-complete.php

0

no bo z tego co rozumiem, musisz:

  • albo poiterować po tych zespołach i dla każdego te drugie wykonać oddzielnie (i wtedy $rank się też zmieni)
  • albo zrobić trochę bardziej skomplikowane zapytanie, które będzie wprowadzać rank takie jakie chesz, coś na wzór*
INSERT INTO _achievement (user_id, team_id, season_id, rank, date_recorded) VALUES (?, ?, ?, (SELECT rank from JAKAS_TABELA where team_id = TEAM_ID ORDER BY jakies_pole limit 1), ?)

Tam gdzie są pytajniki, wprowadzisz swoje wartości. Robisz tutaj podzapytanie, które uzupełnia INSERTa tą wartością, która Cię interesuje.

Wybierz to co jest dla Ciebie prostsze :)

[*] nie znam tej libki, z której korzystasz do bazy danych więc napisałem pseudo-sql by pokazać o jaki finalnie wynik Ci chodzi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1