Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: Satunnainen joukkue -generaattori

InfreQ [25.01.2010 18:45:24]

#

Luo satunnaisesti joukkueita haluamallaan pelaaja/joukkue määrille. Testi: http://infreq.viuhka.fi/random_teams Tämä on harvoja itse tehtyjä koodeja joten parannus ehdotuksia myös otetaan vastaan.

<!--Satunnainen joukkue -generaattori-->
<!--Luodaan Lomake johon käyttäjä syöttää tarvittavat tiedot ja tietysti ohjeistus siihen-->
<h2>Joukkueet</h2>

Kirjoita kenttiin tarvittavat tiedot joukkueiden kasaamiseksi.<br/><br/>

<form action="index.php" method="post">

    Pelaajat: (kirjoita nimet välilyäönnillä erottaen)
    <br/>
    <textarea name="players" rows="5" cols="30"><?php if(isset($_POST['players'])){print $_POST['players'];} ?></textarea>
    <br/>
    Joukkueet: (ilmoita lukuna)
    <br/>
    <input type="text" name="team" size="5" value="<?php if(isset($_POST['team'])){print $_POST['team'];} ?>"/><br/>
    <br/>
    <input type="submit" name="submit" value="Muodosta"/>

</form>

<!--Sitten itse toiminto-->
<?php

    //Tarkistaan onko Muodosta -nappia painettu.
    if(isset($_POST['submit']))
    {
    //Annetaan lähetetyille tiedoille muuttujat.
    //Huomaa että pelaajat muuttuja luodaan hieman tarkemmin.
    $team = $_POST['team'];
    if(!isset($_POST['players']))
    {
        $players = '';
    }
    else
    }
        $players = explode(' ', $_POST['players']);
    }
    //Tarkistetaan onko annetut tiedot oikein.
    if($players == '' OR $team == '' OR $team == 0 OR $team == 1)
    {
        //Jos ei ole "tapetaan" koodi ja annetaan virhe.
        die('Molemmat kentät tulee olla täytettynä.<br/> Nolla ja yksi ei käy joukkueiden arvoksi.');
    }
    //Sekoitetaan $players taulukkoa jotta joukkueet olisivat mahdollisimman erillaiset seuraavalla kerralla.
    shuffle($players);
    print ' <table style="text-align:center;"><tr>';
    //Annetaan kierroslaskurille alkuarvo.
    //Tulostetaan Joukkue x otsikko jokaista haluttua joukkuetta varten.
    $team_num = 1;
    while($team_num <= $team)
    {
        print '<td width="100">Joukkue'. $team_num.'</td>';
        $team_num++;
    }
    print '</tr><tr>';
    //Annetaan kierroslaskureille arvot.
    //Tulostetaan pelaajat joukkueiden lohkoihin jolloin saadaan valmiit joukkueet.
    //Tulostetaan myös lopuksi taulukon rivien lopetus.
    $num = 0;
    $counter = 1;
    while($num < count($players))
    {
        print '<td>'.$players[$num].'</td>';
        $num++;
        if($counter >= $team)
        {
            print '</tr><tr>';
            $counter = 0;
        }
    $counter++;
    }
    //Lopuksi tulostetaan taulukon lopetus
    print'</tr></table>';
}
?>

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta