Hei!
Onko antaa mitään simppeliä vinkkiä siitä, kuinka saan pudotettua toimintakalenterista jo eletyn päivän (siis ohi mennen päivän) pois tietoineen, siten ettei tarttis käydä päivittelemässä niitä sieltä käsin pois?
Minulla on toimintakalenterin taulussa käytössä date-määreinen tieto, jos tuosta olis hyötyä.
Menisikö se jollain if jutulla?
Hmm... Tallenna tiedot yhteen tiedostoon, ja kirjoita sen tiedoston yli aina päivittäin.
Ei sitä oikeastaan muulla tavalla kannata tehdä, ellet nyt puhu sitten jostain tietokannasta? Jos näin on, niin voit soveltaa tuota tapaani myös siihen, käytä vain yhtä taulua, ja korvaa se aina uuden päivän tiedoilla.
En tiedä käsitinkö vinkkisi oikein, mutta itse päädyin onnistuneesti (luulisin) käyttämään seuraavanlaista alkukantaista koodia:
if (date(Y-m-d)<=$paivamaara)
{
print ja sitten listaa tapahtumia eteenpäin....
}
Tarkoitit varmaan jotain paljon hienompaa systeemiä. Kiitos kuitenkin tiedoista! :-)
Kerro toki onko tieto oikeassa tietokannassa. Silloin voit rajata tulostusjokuon jo SQL-kyselyssä.
No on se ihka oikeassa tietokannassa, kuinkas sen siinä kyselyvaiheessa saisi jo rajattua pois? Tuo esimerkin $paivamaara -muuttuja on tietokannassa date tyyppinen.
Menisikö se jotenkin näin...
SELECT * FROM toimintakalenteri WHERE paivamaara <= date(Y-m-d);
Pitääpä kokeilla.
jep,
SELECT * FROM toimintakalenteri WHERE paivamaara >= '2006-03-25'
ja tuohon ehdon muodostamiseen voi tosiaan käyttää vaikka PHP:n date()-funktiota.
Ja toki sieltä ei kaikkia kenttiä tarvita, joten tähti kannattaa korvata kyselyssä haettavien kenttien nimillä.
Hei kiitos, sain pelittämään ja koodinkin siistimmäksi. Kiitos!
Siis en sittenkään saa sitä tälläin toimimaan. Missä vika tässä kyelyssä? Tänään olisi yhden tapahtuman pitänyt poistua listauksesta nettisivuilla, mutta ei, sillä se vain keikkuu!... Tarkennuksena vielä siis että tuo paivamaara-tieto on tietokannassakin date-tyyppinen.
$kysely = mysql_query("select id_tapahtuma,paivamaara,tapahtuma from
tapahtumakalenteri WHERE paivamaara <= 'date(Y-m-d)' order by paivamaara asc");
Tuo date()-funktio ei toimi tuolla lainausmerkkien sisällä. Debuggaamalla koodia olisit tämän varmasti itsekkin huomannut:
Queryistä saa selkeämpiä kun kirjoittaa isolla kaikki komentosanat. Ja olikos se toimintakalenteri vai tapahtumakalenteri?
"SELECT id_tapahtuma, paivamaara, tapahtuma FROM toimintakalenteri WHERE paivamaara <= '".date(Y-m-d)."' ORDER BY paivamaara ASC"
Liekö ASC myöskin oletus, ettei sitä tarvitse?
asdf, ajv nopsampi
Kiitos, koitan nyt pärjätä tästä eteen päin ja muistan kirjoitaa täst edes komentosanat ISOLLA.
:-)
Aihe on jo aika vanha, joten et voi enää vastata siihen.