|
| tidstyring / event trigger med mysql ? Fra : henrik2008 | Vist : 1270 gange 100 point Dato : 12-01-12 11:15 |
|
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!).
| |
|
Hej.
Er ikke den store programmør, men har tænkt lidt over din problematik.
Når du uploader filen har du upload dato og så kan du lave en løkke som tæller x dage frem og når du så når frem til dag X skal indlægget ikke længere vises?
| |
|
joo, det har jeg prøvet, med at konvertere med now()=$tid og
if ($tid>now()-curdate)
{
$tid++;
}
måske ikke lige sådan men noget lign også med et statement med mysql queris som select tid >now()
, kan ikke huske det, em kan hurtig finde frem til tutorials, men denne måde er overordentlig kompleks og virer ikke rigtig, altså en blanding af php mysql og funktionen now(), nej jeg vil have mysql til at trigge events id fra et if <> else agtig trigger events, det er bare lige hvordan man gør det ?.
| |
| Accepteret svar Fra : Hammerhead | Modtaget 100 point Dato : 12-01-12 14:49 |
|
Prøv evt. at kigge på http://php.net/manual/en/function.[B]strtotime[/B].php
Hvis du har en start og slutdato i databasen, så hent kun indlæg hvor slutdatoen ikke er lig med i dag.
Indsæt en IF sætning i din while...
If slutdato er mindre end strtotime vis indlæg
Håber det giver mening
| |
|
æhh, jeg glemte faktisk at jeg har oprette et indkæg med næsten samme emne (email aktivering iden fro 48 timer i mysql databas), der har jeg lagt nogle sikkert brugbar eks, som næsteb virkede, undatgen at koden ikke kunne søge efter flere artikler med og derefter at udføre evt, deaktivering af artikel (det er meget nemt, man sætter eb boolean værdi for artikel i et felt for hver aritkel med
værdien som 1= aktiv og 0= ikke aktiv).
| |
|
hvorfor strtotime, akn man ikke bare udføre en if booelan og betingeler med < > operatør, uden at blande php egen time funktion med, altså kun lade mysql tjekke dato er gammel og for derefter at dea aktivere artikel (der er lavet aktivering deaktivering i mit cms, det virker!).
hva med denne her kan den bruges, SELECT * FROM artikler WHERE dato BETWEEN now() AND date_add(now()+30) ?. (har ikke skrevet denne kode!).
| |
| Godkendelse af svar Fra : henrik2008 |
Dato : 27-02-12 11:11 |
|
Tak for svaret Hammerhead.
| |
| Du har følgende muligheder | |
|
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.
Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
| |
|
|