Elikkäs mitenköhän tällainen olisi järkevintä toteuttaa=
Eli tein mysql taulun, mihin lisätään menneet kilpailut (id, pvm, kisa, tulos, kommentti).
Nyt haluaisin tulostaa (php:lla) kisat järjestyksessä vuosien alle seuraavalla tavalla:
2007
kisa1
kisa2
kisa3
2006
kisa1
kisa2
kisa3
2005
kisa1
kisa2
kisa3
...jne.
Eli vuosiluvut haettaisiin automaattisesti taulusta niin pitkälle kun niitä on, eli tässä tapauksessa vuoteen 2001 ja siis aina kyseisen vuoden kisat vuoden alle.
Kiitos etukäteen.
EDIT: niin ja siis vuosiluvut haettaisiin tuosta pvm sarakkeesta.
en oo vähään aikaan mihinkään koodin puuttunu lain, mutta tällä periaatteella vois pelittää:
$vuodet = mysql_query("SELECT vuosi FROM taulu"); for ($i=0; $i<mysql_num_rows($vuodet); $i++){ $vuosi = mysql_result($vuodet,$i,0); $kilpailut = mysql_query("SELECT kentät FROM taulu WHERE vuosi = $vuosi"); //tulostetaan $kilpailut-haun tulokset }
Eikös yhdelläkin haulla pärjätä. Selkeästihän kaikki kilpailut pitää hakea. Järjestetään ne vain vuoden/päivän mukaan.
<?php $kilpailut = mysql_query("SELECT kisa, DATE_FORMAT(pvm, '%Y') AS vuosi FROM taulu ORDER BY pvm DESC"); while ($row = mysql_fetch_row($kilpailut)) { //Mikäli vuosi ei ole sama kuin edellinen vuosi, tulostetaan otsikko if ($row[1] != $vuosi) { echo "<h3>{$row[1]}</h3>"; } echo $row[0]."<br />"; //Tallennetaan edellinen vuosi uuteen kierrokseen vertailtavaksi $vuosi = row[1]; } ?>
Tai jotain, ehkä idea käy ilmi. En testannut koodia.
Itse tehnyt useasti JTS:n tavalla. Eli vaikka tuleekin "pari" riviä ylimääräistä koodia php:lle, niin mielestäni se on silti paljon parempi kuin hakea hakujen jälkeen aina vaan uudestaan samantapainen kysely.
Kiitokset kaikille. JTS:n koodi wörkkii ainakin kuin junan vessa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.