Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Arkistopuu

JyKKemus [27.12.2007 09:36:38]

#

Miten saisin rakennettua kun mulla on mysql uutisia ja niillä on timestampit eli sellanen että tulisi ensin vaikka 2007 ja sen alle ne kuukaudet joissa on uutisia?

Taulu on rakenteeltaan:

CREATE TABLE `news` (
  `id` int(11) NOT NULL auto_increment,
  `filename` varchar(20) NOT NULL,
  `title` varchar(20) NOT NULL,
  `text` text NOT NULL,
  `time` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  `ip` varchar(20) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;

ajv [27.12.2007 10:09:10]

#

Tällä pitäisi päästä alkuun:

SELECT
  DATE_FORMAT(time, '%Y%m') AS vvvvkk,
  DATE_FORMAT(time, '%Y') AS vvvv
FROM
  news
GROUP BY
  vvvvkk
ORDER BY
  time DESC

Tuolla saat listattua kaikki kuukaudet, joissa on uutisia. Sitten tulostussilmukassa vain katsot, milloin vuosi vaihtuu ja tulostat sen "väliotsikoksi"

JyKKemus [27.12.2007 10:24:52]

#

tekeeks sen niin sit et linkki on muotoa ?m=12&y=2007 vai a=122007

ajv [27.12.2007 10:33:43]

#

Tuhon on vaikea minun vastata. Tee linkit niin kuin haluat sen toimivan :)

Myöhäinen edit: Laita ne mod_rewritella vaikka muotoon:

/uutiset - listaa kaikki uutiset
/uutiset/VVVV - listaa kyseisen vuoden uutiset
/uutiset/VVVV/MM - listaa kyseisen kuukauden uutiset
/uutiset/VVVV/MM/DD - näyttää kyseisen päivän uutiset

Vastaus

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

Tietoa sivustosta