Nyt täytyisi koittaa kehitellä oma arvontakone, melkein täydellinen kappale löytyy, mutta siinä on yksi erittäin suuri puute ja siksi pitää oma koodailla.
Se "melkein täydellinen" arvontakone
Syötän siis luokkia ja niiden osallistujia tyylillä:
Luokka 1
Osallistuja
Osallistuja
Osallistuja
Osallistuja
Luokka2
Osallistuja
Osallistuja
Osallistuja
Osallistuja
Arvontakoneen täytyisi arpoa nuo osallistujat ja ilmoittaa ne luokittain myös arvottuna. Helpoin ratkaisuhan olisi pistää joka luokka omaan textaeraan, mutta tämä ei tule kyseeseen kun arvottavaa (luokkia) on niin paljon...
Puute joka tuossa on, on se, että se arpoo max. 10 parasta sijoitusta eikä näytä loppuja luokan osallistujia ja heidän sijoituksiaan.
Onko jollain tähän tiedossa jo jotain arvontakonetta/koodia ja jos ei niin miten tätä nyt pitäisi lähteä purkamaan?
Teet useamman sivun, jossa on 1) hallintasivujen etusivu, 2)osallistujien lisäämissivu, 3)arvontasivu
1) Hallintasivujen etusivulla on linkit kahdelle muulle sivulle, sekä mahdollinen yhteenveto.
2) Osallistujien lisäämissivu:
Teet vaikka tekstikenttänä osallistujat, ja lisäksi luokka omaksi valittavaksi kentäksi.
3) Arvontasivulla arvotaan osallistujien
Tai vastaavasti, jos et jaksa koodailla, teet työkalusi ottamaan vaikka .csv -tiedostoja sisäänsä.
Lebe80, kun ongelma on juurikin se, että kaikki luokat ja niiden kaikki osallistujat pitäisi saada syötettyä samaan kenttään :D Eli se ei riitä, että teen jokaiselle luokalle oman textarean jne.
merlin kirjoitti:
Lebe80, kun ongelma on juurikin se, että kaikki luokat ja niiden kaikki osallistujat pitäisi saada syötettyä samaan kenttään :D
En käsitä, että miksi pitää?
Koska tuloksia pitäisi arpoa yli 100 luokan (10 kisaa, jokaisessa väh. 10 luokkaa) edestä joka toinen viikko :D Ei kiinnosta copypastettaminen.
Pystytkö sä oikeasti kertomaan tosta yhtään enempää? Veikkaan, et tälläkin foorumilta tulis oikeasti ihan hyviä neuvoja sun ongelmaas, jos tiedettäis enemmän kuin sun oma tekstikenttätoiveesi.
Eli missä muodossa tuo alkuperäinen data sulle tulee, vai tuleeko sellaista ollenkaan. yms. yms.
Kilpailut järjestetän foorumilla, kisaajat kopioivat edelliseltä osallistujalta tuon koko luokkalistan ja kaikki jo tähän mennessä ilmoittautuneet kisaajat, eli lopulta kun kilpailun osallistumisaika loppuu, niin mulla on siellä valmiina odottamassa aloitusviestissäkin esitelty lista:
Luokka 1
Osallistuja
Osallistuja
Osallistuja
Osallistuja
Luokka 2
Osallistuja
Osallistuja
Osallistuja
Osallistuja
jne...
Haluaisin saada tulokset arvottua niin, että pystyisin syöttämään koko osallistujalistan (yksi kisa kerrallaan siis) luokkineen kaikkineen ja se arpoisi minulle kaikki kerralla. Tämän kun joudun kuitenkin toistamaan useasti, sillä kisojakin on yhtä aikaa menossa monta.
En tiedä mitä muuta tietoa tarvitaan? Kerro jos joku jäi epäselväksi :)
No eikö tohon kannattaisi sit suoraan tehdä joku lisäystyökalu, jonne jokainen käy itse lisäämässä vain itsensä, jolloin tuosta ei tulisi juuri noin kömpelö foorumikikkare? Koska tuossa nykyisessä foorumiversiossahan ei tämmöiseen verrattuna ole mitään järkeä!
Jos nyt vain haluat sekoittaa osallistujat, tämä koodi ehkä auttaa:
<?php $lista = isset($_POST["lista"]) ? $_POST["lista"] : ""; $lista = array_map("trim", explode("\n", $lista)); for ($i = 0; $i < count($lista); $i = $j) { while (empty($lista[$i]) && $i < count($lista)) ++$i; $j = $i; while (!empty($lista[$j]) && $j < count($lista)) ++$j; if ($j > $i + 1) { $tmp = array_slice($lista, $i + 1, $j - $i - 1); shuffle($tmp); // Muuttujien sisältö on nyt esimerkiksi tällainen: // $lista[$i] = "Luokka 1"; // $tmp = array("sekoitetut", "osallistujat"); // Jos haluat lisätä [b]-tageja tms., se on helppoa tässä välissä. array_splice($lista, $i + 1, $j - $i - 1, $tmp); } } $lista = implode("\n", $lista); ?> <form action="?" method="post"> <textarea name="lista" rows="20" cols="80"><?php echo htmlspecialchars($lista); ?></textarea> <button type="submit">Sekoita</button> </form>
Aihe on jo aika vanha, joten et voi enää vastata siihen.