Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Porównanie liczb w tablicy
Forum PHP.pl > Forum > PHP
trylas
Cześć, piszę klasę zliczającą zdobyte punkty i bramki druzyny na podstawie rozegranych meczy-> tworzac tabele ligowa.
Nie wiem czy ide dobra sciezka ale zaciagam mecze i je obrabiam w tablicy.
Zaczynam od grupowania druzyn ktore maja tyle samo punktow natsepnie bramek strzelonych a potem straconych .... i wlasnie teraz pytanie....
Mamy grupe z jednakowa iloscia bramek strzelonych.... jak porównać te liczby i posortowac zainteresowane (w tym przypadku dwie druzyny) wg straconych bramek.
  1. $tablica[0][1]['bramki_strzelone'] = 69;
  2. $tablica[0][1]['bramki_stracone'] = 58;
  3. $tablica[0][2]['bramki_strzelone'] = 69;
  4. $tablica[0][2]['bramki_stracone'] = 57;
  5. $tablica[0][2]['bramki_strzelone'] = 55;
  6. $tablica[0][2]['bramki_stracone'] = 35;
r4xz
a baza danych jak wygląda? Najlepiej byłoby to załatwić dobrym zapytam do bazy danych (ORDER BY)
trylas
Baza wyglada tak, że jest tabela z Drużynami i jest tabela z Meczami po zapytaniu sa laczone i jest tablica z wszystkimi meczami. Dalej zliczam punkty poszczególnych druzyn tak jak pisałem wyżej.Chciałem to zrobić w taki spsób aby nie edytowac tabeli i nie liczyc poszczególnych bramek tylko z automatu w locie tworzyć tabelę. Nie wiem czy to słuszna koncepcja.
mastermindssj2
Wykorzystaj w zapytaniu klauzulę ORDER BY punkty,bramki_zdobyte,bramki_stracone*-1. W takim wypadku najpierw odbędzie się segregacja zgodnie z polem punkty, w przypadku takiej samej ilości punktów porównana zostanie liczba bramek strzelonych, później straconych*-1. -1 stąd, że im więcej bramek straconych - tym gorsza pozycja.
trylas
Dzięki bardzo za pomoc.... jest tylko jeden kłopot pisze to w ZF 1.12 i zapytanie wyglada tak ale po dodaniu do kolumny bramki_stracone *-1 sypie błędami Column not found: 1054 Unknown column 'goals_against*-1' .... jak to zapisać w ZF...
  1. public function getTable() {
  2. $select = $this->select()
  3. ->from('league_table')
  4. ->order(array('points DESC','goals_for DESC','goals_against DESC'));
  5. $table = $this->fetchAll($select)->toArray();
  6. return $table;
  7. }


OKI sprawa jasna jeszcze raz thnx goals_against ASC
mastermindssj2
sprobuj goals_against ASC
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.