Joku viksu immeinen voisi kertoa aloittelijalle, miten sais tehtyä sellasen skriptin joka lajittelisi nopeimmin ajetut kierrokset siten, että nopein olisi ylimpänä. Listalla ei siis tarvitsisi näkyä mitään muuta kuin ajajan nimi ja aika.
Suuri apu olisi tällaisesta, kiitos..
Kerro toki, missä muodossa kierroksien tiedot on tallennettu.
Kieroksien tietoja ei ole tallennettu vielä mitenkään, mutta olisi hyvä, että mysqliä ei tarvitsisi käyttää eli tiedot tallennettaisiin tekstitiedostoon. Tiedot tallennetaan tulevaisuudessa siten, miten skripti laitetaan tiedot tallentamaan =)
varmaan sit haet ne tiedot sit moniulotteiseen taulukkoon tms., joten array_multisort() lienee yksi ratkaisu lajitteluun.
Okei.. Mitenkäs sitten onnistuu se, että pienin aika tulee ensimmäiseksi, sitten tokaks toisiks pienin jne. Mikään aika ei mene yli minuutin eli sellasista ei tartte välittää..
https://www.php.net/manual/en/function.array-multisort.php:
Sorting order flags:
* SORT_ASC - sort in ascending order
* SORT_DESC - sort in descending order
No eihän tohon nyt mitään multisorttia tartte.
Nyt olikin kyse moniulotteisesta taulukosta...
Stinky kirjoitti:
Listalla ei siis tarvitsisi näkyä mitään muuta kuin ajajan nimi ja aika.
Suuri apu olisi tällaisesta, kiitos..
No eikös tuo mun esimerkki nyt aja juuri tuon asian?
Edit, paitsi joo, toi ei toimi jos on kaksi samaa aikaa. Sormet toimi ennen aivoja, kuten aina.
Jos tulokset ovat tiedostossa muodossa:
Pekka|36.77 Lauri|40.19 Ville|37.20 Mikko|34.12
Voi koodin tehdä esim. näin:
<?php /* luetaan tulokset tiedostosta taulukkoon */ $tiedot = file("tulokset.txt"); /* muodostetaan pystyviivoilla erotetuista tiedoista taulukko, jonka indeksinä on nimi ja arvona tulos */ foreach ($tiedot as $tulos) { $tulos = explode("|", $tulos); $lista[$tulos[0]] = $tulos[1]; } /* järjestellään taulukko tulosten mukaan suurimmasta pienimpään */ arsort($lista, SORT_NUMERIC); /* tulostetaan taulukon näyttävä HTML-koodi */ echo "<table> <tr><td><b>Nimi</b></td><td><b>Aika</b></td></tr>"; foreach ($lista as $nimi => $aika) { echo "<tr><td>$nimi</td><td>$aika</td></tr>"; } echo "</table>"; ?>
Antti Laaksoselle suuri kiitos tuosta skriptistä! Muutin sitä vain sen verran, että laitoin arsortin tilalle asort.. Tänk juu veri mats!
Aihe on jo aika vanha, joten et voi enää vastata siihen.