peskungen Skrevet 3. juli 2008 Del Skrevet 3. juli 2008 (endret) Hei og hå! Håper på noen gode tips fra noen da jeg desverre ikke klarer å tenke helt klart når det gjelder dette problemet. Jeg får inn X antall lag fra en database. Av disse skal det lages kampprogram, hvor lagene skal spille to ganger mot hverandre. Altså både HJEMME og BORTE. Slik jeg har tenkt det: Får inn 4 lag i en array: Liverpool, Juventus, Milan, Newcastle, disse blir tatt inn med teamid. Liverpool = 1, Juventus = 2, Milan = 3, Newcastle = 4. arrayen ser slik ut da uten det som står i parantes: $aTeamArray( 0 => 1(Liverpool), 1 => 2(Juventus), 2 => 3(Milan), 3 => 4(Newcastle) ) Liverpool - Juventus Liverpool - Milan Liverpool - Newcastle Juventus - Liverpool Juventus - Milan Juventus - Newcastle Milan - Juventus Milan - Liverpool. Milan - Newcastle Newcastle - Liverpool Newcastle - Juventus Newcastle - Milan Det er altså totalt 6 runder som skal spilles, med et totalantall kamper på 24 kamper 12 hjemmekamper, 12 bortekamper. Tenkte kanskje på å lage en løkke som går igjennom alle lagene, med en indreløkke som går igjennom motstanderen. Noe slikt: $aNewArray= array(); $iNumberOfTeams = 4 (ut i fra antall rader fra databasen) for($iCounter = 0; $iCounter < $iNumberOfTeams; $iCounter++) { for($iCounterinner = 0; $iCounterinner < $iNumberOfTeams; $iCounterinner++) { if($iCounterinner != $iCounter) // For at lag nr1 ikke skal spille mot lag nr1 { $aNewArray['team' . $iCounterinner] = array($aTeamArray[$iCounterinner] => $aTeamArray[$iCounter]) //$aNewArray['team0'] vil inneholde en ny array med bortelag som key og hjemmelag(seg selv) som value. } } } Koden er litt endret på enn det jeg gjorde tidligere så jeg har ikke fått testet denne koden enda da jeg ikke sitter på den maskinen jeg jobber på. Videre må jeg få samlet alle kampene og delt dem inn i runder. Men er det noen andre som har noen bedre tips til hvordan jeg kan gjøre dette? Takk på forhånd Endret 3. juli 2008 av peskungen Lenke til kommentar
AlecTBM Skrevet 4. juli 2008 Del Skrevet 4. juli 2008 Noe som dette? <?php $aTeamArray = array('Liverpool','Juventus','Milan','Newcastle'); foreach($aTeamArray as $home) { foreach($aTeamArray as $team) { if($home != $team) { echo $home.'-'.$team."<br>\n"; } } echo "<br>\n"; } ?> Mysql hentinga klarer du vell sjøl Lenke til kommentar
peskungen Skrevet 5. juli 2008 Forfatter Del Skrevet 5. juli 2008 Noe som dette? <?php $aTeamArray = array('Liverpool','Juventus','Milan','Newcastle'); foreach($aTeamArray as $home) { foreach($aTeamArray as $team) { if($home != $team) { echo $home.'-'.$team."<br>\n"; } } echo "<br>\n"; } ?> Mysql hentinga klarer du vell sjøl Mysql hentinga er allerede gjort , men takker for hjelpen... skal teste senere ikveld Lenke til kommentar
AlecTBM Skrevet 5. juli 2008 Del Skrevet 5. juli 2008 Skal funke det der (gjorde nå det hos meg) Lenke til kommentar
peskungen Skrevet 11. juli 2008 Forfatter Del Skrevet 11. juli 2008 Skal funke det der (gjorde nå det hos meg) Ikveld har jeg brukt opp hjernekapasiteten. Har prøvd og prøvd og prøvd, og er nære ved å klare det, men bah... jeg spør om tips her nuh: Det skal lages kampoppsett utifra arrayen jeg har her. Akkurat denne forutsetter at antallet lag i arrayen er partall skal seff kunne lage kampoppsett hvis det er oddetall også $aTeamArray[0] = 'Manu'; $aTeamArray[1] = 'Liverpool'; $aTeamArray[2] = 'Newcastle'; $aTeamArray[3] = 'Bolton'; $iNumberOfRounds = (count($aTeamArray)*2)-2; //Antall runder som skal spilles. $iNumberOfMatchesPerRound = count($aTeamArray)/2; //Antall kamper per runde Det skal altså lages et kampprogram, helst at ett lag spiller annehver runde hjemme. For denne skal kampene se slik ut: Manu - Liverpool Manu - Bolton Manu - Newcastle Liverpool - Manu Liverpool - Bolton Liverpool - Newcastle Newcastle - Manu Newcastle - Bolton Newcastle - Liverpool Bolton - Manu Bolton - Liverpool Bolton - Newcastle Som sagt fikk jeg laget et slags kampprogram, men det holdt ikke mål da ikke alle kampene ville registreres :/ Så håper noen har noen gode tips/løsninger til meg Lenke til kommentar
AlecTBM Skrevet 11. juli 2008 Del Skrevet 11. juli 2008 Funka ikke scriptet mitt? Feilmeldinger? Lenke til kommentar
peskungen Skrevet 11. juli 2008 Forfatter Del Skrevet 11. juli 2008 Funka ikke scriptet mitt?Feilmeldinger? Joda Funka fett det, og prøvde å utvikle videre utifra det, men så ble jeg sittende bom fast etterhvert og har prøvd ut mye forskjellig, men kommer ingen vei lenger :/ Derfor leiter jeg etter litt tips igjen Lenke til kommentar
AlecTBM Skrevet 12. juli 2008 Del Skrevet 12. juli 2008 hva skal du? Så kan jeg forklare scriptet bedre, og lære deg hva jeg gjorde Lenke til kommentar
peskungen Skrevet 13. juli 2008 Forfatter Del Skrevet 13. juli 2008 (endret) hva skal du?Så kan jeg forklare scriptet bedre, og lære deg hva jeg gjorde Scriptet ditt forstår jeg 100% Men det skal utvikles litt videre slik som jeg har skrevet det i noen poster over.... Lage et fullstendig kampoppsett utifra en array med lag. Slik som dette: $aTeamArray[0] = 'Manu'; $aTeamArray[1] = 'Liverpool'; $aTeamArray[2] = 'Newcastle'; $aTeamArray[3] = 'Bolton'; $iNumberOfRounds = (count($aTeamArray)*2)-2; //Antall runder som skal spilles. $iNumberOfMatchesPerRound = count($aTeamArray)/2; //Antall kamper per runde Det skal altså lages et kampprogram, helst at ett lag spiller annehver runde hjemme (Men noen steder er det ikke mulig å få det til, så da er det seff akseptabelt med 2 hjemmekamper på rad). For eksempelet som er gitt blir dette kampene som skal legges i kampprogrammet: Manu - Liverpool Manu - Bolton Manu - Newcastle Liverpool - Manu Liverpool - Bolton Liverpool - Newcastle Newcastle - Manu Newcastle - Bolton Newcastle - Liverpool Bolton - Manu Bolton - Liverpool Bolton - Newcastle Kampoppsettet i dette eksempelet kan bli seende slik ut: Runde1: Manu - Liverpool Newcastle - Bolton Runde2: Bolton - Manu Liverpool - Newcastle Runde3: Manu - Newcastle Liverpool - Bolton Runde4: Bolton - Liverpool Newcastle - Manu Runde5: Bolton - Manu Newcastle - Liverpool Runde6: Liverpool - Manu Bolton - Newcastle Tips/Løsninger på dette hadde vært koz Endret 13. juli 2008 av peskungen Lenke til kommentar
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å