Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: ORDER BY kahden kentän mukaan

FlashBack [22.11.2007 09:34:34]

#

Eli mun pitäisi saada haettua kannasta tietoa ja järjestää tulos kahden rivin mukaan. Esim. päivä ja aika.

Tämän pitäisi tapahtua niin, että päivä voidaan listata joko nousevassa tai laskevassa järjestyksessä, mutta aika pitää esittää tuloksissa aina nousevassa järjestyksessä.

Mites tämän saisi toimimaan?

Antti Laaksonen [22.11.2007 09:51:35]

#

Tässä ovat ensinnäkin tarvittavat kyselyt:

SELECT * FROM tiedot ORDER BY paiva ASC, aika ASC
SELECT * FROM tiedot ORDER BY paiva DESC, aika ASC

Ensin järjestetään päivän mukaan joko nousevasti (ASC) tai laskevasti (DESC), sitten järjestetään vielä ajan mukaan nousevasti, jos päivät ovat samat. Oletus on nouseva järjestys, joten sanan ASC voi jättää pois halutessaan.

Tämän lisäksi pitää vielä tehdä PHP:llä järjestyksen valinta, jonka voi toteuttaa vaikka niin, että järjestys välitetään skriptille sivun osoitteessa. Koodin avainkohdat ovat:

<a href="sivu.php?suunta=0">nouseva järjestys</a>
<a href="sivu.php?suunta=1">laskeva järjestys</a>
if ($_GET['suunta'] == 0) $jarj = "ASC";
if ($_GET['suunta'] == 1) $jarj = "DESC";
$sql = "SELECT * FROM tiedot ORDER BY paiva $jarj, aika ASC";

FlashBack [22.11.2007 10:30:35]

#

No olipas yksinkertaista :) Kiitos.

Vastaus

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

Tietoa sivustosta