Avatar billede henrik2008 Nybegynder
12. januar 2012 - 11:05 Der er 5 kommentarer og
1 løsning

MYSQL time trigger event

Hej, jeg er lige blevet færdig med mit eget CMS som jeg selv
har lavet i PHP, MYSQL og javascript osv, som næsten er en mini Joomla, bare med bedre grafik (syntes jeg selv), en skrabet Joomla!.

Nu har jeg følgende spørgsmål, herunder.


Jeg kunne godt tænke mig at tidsstyre artklerne (det kalder jeg tekst dokumenterne som er gemt i mysql databasen).
jeg har prøvet at følge nogle tutorials og andet med funktione now(), timestamp og mysql queries som select now < tid  , agtig og
php egen tids funktion for at konvetere til  dage og dato sov fra unix epox timestamp, eller hav nu det hedder (det er længe siden at jeg har rodet med tidsdelen, så jeg skal lige huske det gien, jeg opgav i sin tid med tidstyring, fordi jeg ikke kunne få det til at fungere. (jeg plejer ikke at have nogle problemer med programmering generalt, kun tidsstyring som jeg syntes er et helvede at programmere, åbenbart!).
Nu har jeg kigget på internettet med tidstyring og event trigger med funktionen now(), der er flere måder at gøre dette på, herunder.

cronjob, som cliche ikke understøtter.

mysql helt nye facilitet / funktion "event scheduler" som  kun
understøttes i mysql version 5.1.6 vistnok.

cliche har kun mysql 5.0.64, så den nye event scheduler funktionen kanjeg ikke bruge.

jeg har tænk at lave det sådan at hver artikel der bliver gemt i databasen, også kan vises på hjemmesiden , efter en bestemt dato, når dato er udløbet bliver teksten på hjemmesiden fjernet, men hvodan i al verden gør man det, det burde vøre nemt ?.

jeg har brugt tinymce som tekst editor som er en del af mit cms.

mysql version 5 og op, skulle kunne være istand til at trigge
event efter tidstyring med now() og  meget mere, vistnok ? (ja, så må mysql databasen have en slags realtime event / ur der kan trigge forskellige events ?).
hvis ikke, tjaa så kan jeg overhovedet tidsstyre noget som helst, det kan da ikke passe ?. (håber det!).

håber i kan hjælpe mig.
Avatar billede michael_stim Ekspert
12. januar 2012 - 13:07 #1
Du kan få lavet dine cronjobs ude i byen ;o)
Avatar billede michael_stim Ekspert
12. januar 2012 - 13:55 #2
Blev lige afbrudt.

Men det ser ud til at du kan klare dig med en sql-forespørgsel. En form for dato smides selvfølgelig i tabellen, når du opretter artiklen. Og så burde du kunne køre en sql der ser nogenlunde sådan her ud:

SELECT * FROM artikler WHERE dato BETWEEN now() AND date_add(now()+30)

Nu er det ikke rigtig syntax på datoen.
Avatar billede henrik2008 Nybegynder
12. januar 2012 - 23:09 #3
jeg har lavet en automatisk indsættelse af start og slut dato (php) på hver artikel  i mysql databasen, nu mangler jeg bare at tjekke udløbs datoen for hver artikel med en mysql queries, jeg tror jeg kan bruge din kode.
er du sikker på at man ikke skal bruge en slags trigger event ?.
den tidsstyring jeg skal bruge skal slet ikke være kompleks men faktisk ret enkelt, så det burde være simpelt ?
og hvad med UNIX tidsformatet, er der ikke noget med at man skal
trække den nuværende tid fra UNIX epox tid, hvilket er 1972, hvor man skal beregne sek. der er gået siden 1972 til æhh 2012 ?, hvor efter man omsætter det til min, timer og dage til uger måned.
det er nok derfor man for mærkelig store tal frem.
håber det virker, jeg har prøvet med utallige eksempler med unix tidsformat med now() og mysql quearies, og havde problemer med det.
Avatar billede michael_stim Ekspert
13. januar 2012 - 11:24 #4
Nu ved jeg ikke hvordan du har gemt dine datodata, men du kan kigge på curdate(), curtime() og date_format(NOW(),...)

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format
Avatar billede henrik2008 Nybegynder
14. januar 2012 - 17:28 #5
artikelerne med start dato og slut dato bliver indsat med en mysql quary med herunder

mysql_query("INSERT INTO ssd (artikelnavn,artikel,oprettelsesdato,startdato,slutdato)
VALUES ('$artikelnavn','$tinytekst',now(),now(),now())");


Mysql felterne oprettelsesdato, startdato, slutdato (felterne er af typen date/time i mysql databasen!

alle datoerne bliver indsat med pågældende dato artiklen er oprettet, men i mity cms kan man gå til "tidsstyring af artikler", og aktivere tidsstyring på den valgte artikel / stardato - slutdato. (er ikke lavet færdig endnu, da jeg har svært med at få tidstyring til at virker. jeg har masser tid.
Avatar billede henrik2008 Nybegynder
31. januar 2012 - 13:43 #6
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester