Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Kalenteritoiminnot

ViKiNGi [25.11.2011 15:46:12]

#

Moikka,

Etsiskelin aika pitkään netistä fiksua tapaa, jolla saisin luotua automaattisesti kuukauden jokaisen päivän erikseen tietokantaan. á php / mysql

Oliskos jollakin jotain hyvää ideaa mielessä?


Lisäksi katselin tuota kalenteria (http://mureakuha.com/koodikirjasto/236) ja pohdiskelin tapaa, jolla saada siihen ympättyä viikon numerot vasempaan reunaan.

kiitos etukäteen!

ViKiNGi [25.11.2011 17:02:35]

#

Vielä lisäyksenä tuohon MySQL / php tietokanta-ajoon;

- tarvetta myös lisäysmahdollisuus alkamis / päättymispäivän mukaan. tai viikottain.

Itse en ole tuollaisessa kalenterihommassa mikään haka ja vaikeutta tuottaa juuri nuo jutut.

makumaku [25.11.2011 18:36:17]

#

En ehkä ihan ymmärätnyt miten ja missä muodossa haluat päivät tietokantaan, mutta esim näin voit luoda kuukauden jokaisen päivän omaksi rivikseen.

$vuosi = 2011;
$kuukausi = 11;
$paivamaarat = array();
$paivia = cal_days_in_month(CAL_GREGORIAN, $kuukausi, $vuosi);

for ($i = 1; $i <= $paivia; $i++)
    $paivamaarat[] = "('$vuosi-$kuukausi-$i')";

$sql = "INSERT INTO kalenteri (paiva) VALUES ".implode(",", $paivamaarat);
mysql_query($sql);

ViKiNGi [27.11.2011 01:31:57]

#

Kiitos, tuota juuri etsein.

Metabolix [27.11.2011 13:31:59]

#

Aika tyylikästä. Tällaisen yksinkertaisemman ratkaisuvaihtoehdon taas olisi varmaan keksinyt itsekin pienellä miettimisellä:

$alku = strtotime("2011-11-01"); // tai vastaava mktime
for ($t = $alku; date("m", $t) == date("m", $alku); $t += 24 * 60 * 60) {
  mysql_query("INSERT INTO kalenteri (paiva) VALUES (". date("Y-m-d", $t) .")");
}

Siis nostetaan aikaleimaa vuorokaudella, kunnes kuukausi vaihtuu.

ViKiNGi [28.11.2011 10:41:54]

#

Lähinnä noiden funktioiden yhdistäminen oli mulla kompastuskivenä. Vähän vaivaan vielä teitä: entä jos haluaa esim. koko listan 1.1.12 - 30.6 listan, eli alkaa jostain ja päättyy valittuun päivään?

Lebe80 [28.11.2011 11:13:55]

#

ViKiNGi kirjoitti:

Lähinnä noiden funktioiden yhdistäminen oli mulla kompastuskivenä. Vähän vaivaan vielä teitä: entä jos haluaa esim. koko listan 1.1.12 - 30.6 listan, eli alkaa jostain ja päättyy valittuun päivään?

Teet normaalin for-loopin?

Vastaus

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

Tietoa sivustosta