kikkazz Skrevet 16. desember 2006 Skrevet 16. desember 2006 (endret) Jeg skal lag et automatisk kampoppsett der alle lag møter hverandre 2 ganger. Dette oppsettet skal automatisk settes inn i en database: navn: kamper kolonner: id(auto increment), hjemmelag, bortelag, divisjon, runde, sesong. Dette skal være basert på informasjon fra database hvor det bare brukes en sesongid: navn: lag_divi_sesong kolonner: id(autoincrement), lagid, divisjonid, sesongid. Dette er det jeg har fått til til nå, Nå kommer kampene rangert slik som dette: 1.Divisjon44-43 44-47 44-49 44-50 44-48 44-42 44-35 43-44 43-47 43-49 43-50 43-48 43-42 43-35..osv Jeg vil gjerne ha det slik: 1.DivisjonRunde 1: 44-43 47-49 48-50 35-42 Runde 2: 47-44 48-49 35-50 42-43..osv koden min ser slik ut: <?php $telldivisjonermax = 5; $sesongid = $_GET['kamp']; for($idivisjon = 1; $idivisjon <= $telldivisjonermax; $idivisjon++){ $sql = "SELECT * FROM lag_divi_sesong WHERE sesongid='$sesongid' AND divisjonid='$idivisjon'"; $resultat = kobleTil($sql); $numrows = mysql_num_rows($resultat); if($numrows) { echo "<h3>$idivisjon.Divisjon</h3>"; while($rad = mysql_fetch_array($resultat)) { $telllag= 1; $lagarray1[] = $rad['lagid']; } for ($i = 0; $i <= $numrows-1; $i++) { for ($i2 = 0; $i2 <= $numrows-1; $i2++) { if($lagarray1[$i] != $lagarray1[$i2]) { $kamper[] = $lagarray1[$i]."-".$lagarray1[$i2]; $telllag++; } } } $antallkamper = count($kamper); for ($i = 0; $i <= $antallkamper-1; $i++) { echo $kamper[$i]."<br>"; } unset($lagarray1); unset($kamper); unset($kamper2); } } ?> Trenger seriøst hjelp her. På forhånd takk Endret 17. desember 2006 av kikkazz
pgdx Skrevet 17. desember 2006 Skrevet 17. desember 2006 (endret) Jo, sikkert mange som kan hjelpe, men det er jo ikke bare bare det du spør om. Ting tar tid, og arbeid. Men kan du ikke bare kjøre to nøstede for-looper? for ($i = 0; $i < $antallLag; $i++) { for ($j = 0; $j < $antallLag; $j++) { $hjemmelag = lagene[$j]; $bortelag = lagene[enellerannenalgoritmemediogj]; mysql_do_what_you_gonna_do; } } Endret 17. desember 2006 av drange
ZoRaC Skrevet 18. desember 2006 Skrevet 18. desember 2006 (endret) Blir det ikke slik? PHP $k = 0; for ($i = 0; $i < $antallLag; $i++) { for ($j = $i + 1; $j < $antallLag; $j++) { $hjemmelag = lagene[$i]; $bortelag = lagene[$j]; $kamp[$k] = "$hjemmelag - $bortelag"; $k++; } } $antallKamper = count($kamp); $antallRunder = $antallKamper / 2 - 1; // Litt usikker? $antallKamperPrLag = $antallKamper / $antallRunder; // Litt usikker? $i = 0; while ($i < $antallRunder) { echo "Runde $i: <br>"; $k = 0; while ($k < $antallKamper { echo $kamp[$k]; $k += $antallKamperPrLag; } $i++; } Litt usikker, men tror jeg er på god vei? Endret 18. desember 2006 av ZoRaC
pgdx Skrevet 18. desember 2006 Skrevet 18. desember 2006 (endret) antar $antallKamper = $antallLag^2 - 2; $antallRunder = $antallKamper; Endret 18. desember 2006 av drange
ZoRaC Skrevet 18. desember 2006 Skrevet 18. desember 2006 $antallRunder = $antallKamper; kan ikke stemme, i eksemplet er det jo 4 kamper i runde 1...?
pgdx Skrevet 18. desember 2006 Skrevet 18. desember 2006 Åja, selvsagt... Jeg tenkte på antall kamper per lag, jeg. Men da blir antall runder (antallLag^2 - 2) og antall kamper blir vel antallRunder * antallLag/2 ?
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå