Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP/MYSQL] Terminarz - Liga, Generacja terminarza ligowego
tomek55
post 5.04.2007, 16:03:36
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 8.09.2003
Skąd: olsztyn

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


Mam dwie tabele w mysql:

  1. Druzyny:
  2.  
  3. ID
  4. ID_LIGI
  5. NAZWA

  1. Mecze:
  2.  
  3. ID
  4. KOLEJKA (nr)
  5. GOSPODARZ
  6. GOSC


Załóżmy że mam w tabeli drużyny 6 drużyn z ligi o ID 2. Jak teraz wylosować i wygenerowac terminarz rozgrywek tak aby w jednej kolejce każda z drużyn występowała tylko raz. Chciałbym wygenerować to w taki sposób:

  1. Kolejka 1
  2.  
  3. team A - team B
  4. team C - team D
  5. team E - team F
  6.  
  7. Kolejka 2
  8.  
  9. team A - team F
  10. team B - team C
  11. team D - team E


itd...

Ważne jest aby pary drużyn nie powtarzały sie do końca rundy, a jeśli by dało rade to z rundą rewanżową.

Proszę o pomoc gdyż zupełnie nie wiem jak za to sie zabrać, czy wogle dobre są struktury tabeli...?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
franki01
post 6.04.2007, 08:07:02
Post #2





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

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


To generuje mecze na jedna runde. Wpadlem na pomysl jak mozna zrobic to biggrin.gif


  1. <?php
  2. $liga = 1;
  3.  
  4. $query = "SELECT * FROM `Druzyny` WHERE `ID_LIGI`=$liga";
  5. $result = mysql_query($query);
  6. $max = mysql_num_rows($result);
  7.  
  8. $i = 0;
  9. while($row = mysql_fetch_assoc($result)) {
  10.  $query = "SELECT * FROM `Druzyny` WHERE `ID_LIGI`=$liga AND `ID`>".$row['ID']." ORDER BY `ID`";
  11.  $result2 = mysql_query($query);
  12.  
  13.  $o = 0;
  14.  while($row2 = mysql_fetch_assoc($result2)) {
  15. $kolejka = $max - $i + $o;
  16. $query = "INSERT INTO `Mecze`(`KOLEJKA`,`GOSPODARZ`,`GOSC`) VALUES($kolejka,".$row['ID'].",".$row2['ID'].")";
  17. mysql_query($query);
  18. $o++'
  19.  }
  20. $i++;
  21. }
  22. ?>



Chyba powinno zadzialac. Jak cos jest zle to na poczatek radze uzyc or die mysql_error()...
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 13:56