Cronjob. om 24:00 de teller op 0 zetten
kan iemand mij uitleggen ne misschien een voorbeeld geven over
hoe je automatisch iets op 0 zet?
of anders. hoe je iets om 24:00 uur wat echo't.
Met vriendelijke groet
Dion de Jong
Heb je wel de beschikking over cronjobs?
Waarom zou je een teller op 0 zetten? Om wat voor teller gaat het eigenlijk? En heb je de beschikking over een database? Zo ja, dan is het volkomen overbodig om 'een teller' op nul te zetten. Sla gewoon de datumtijd op wanneer 'iets' wordt opgeslagen, dan kun je zo per dag berekenen hoevaak 'iets' is opgeslagen.
Hieronder valt ook het openen van een (php) pagina. Maak jij dus een pagina die bij het bekijken van de pagina een teller op 0 zet en je stelt een cronjob in die iedere dag om 00:00 uur die pagina bekijkt, dan wordt je teller keurig steeds op 0 gezet.
het gaat over een bezoekers teller. die wil ik graag automatisc op 0 zetten als het 12 uur is. de enige menier die ik dacht was Cronjobs en ik heb een DB ja. ik doe het nu alleen met een .TXT.
Daarnaast hou je dan ook nog een historie bij. Wellicht leuk om in de toekomst wat mee te doen (statistieken bijvoorbeeld).
Elwin
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$query = "
INSERT INTO
tabelnaam(
datumtijd,
ipadres,
pagina
)
VALUES (
NOW(),
'".$_SERVER['REMOTE_ADDR']."',
'".$_SERVER['PHP_SELF']."'
)";
if(!$result = mysql_query($query)){
echo 'Er is een fout opgetreden: '.mysql_error();
}
// rest van je script
?>
$query = "
INSERT INTO
tabelnaam(
datumtijd,
ipadres,
pagina
)
VALUES (
NOW(),
'".$_SERVER['REMOTE_ADDR']."',
'".$_SERVER['PHP_SELF']."'
)";
if(!$result = mysql_query($query)){
echo 'Er is een fout opgetreden: '.mysql_error();
}
// rest van je script
?>
Hier een voorbeeldje. Je hoeft dan nooit meer een teller te resetten, van iedere bezoeker wordt het ip-adres opgeslagen, het tijdstip en de pagina die wordt bezocht. Wanneer jij wilt weten wie er op een bepaalde datum een bepaalde pagina heeft bekeken, gewoon even een SELECT hierop loslaten en klaar ben je. Uiteraard zijn er nog veel meer mogelijkheden.
En maak je niet druk om een te grote database, een paar miljoen/miljard records is geen probleem voor de database. Die is gemaakt voor grote hoeveelheden data.
ik weet wel hoe ik allemaal uit de database kan neerzetten op de pagina. maar niet hoe ik ze moet optellen.
Dit levert het aantal bezoekers van 31 oktober 2006 op.
Vet! bedankt:D
ik wil de variabel $date nu toevoegen. omdat die kijkt welke dag het is. etc. hij kijkt nu ook op dag. maar ik heb nu deze code mmaar krijg error: die licht aan $date.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
'INSERT INTO
counter(
datumtijd,
ipadres,
pagina
)
VALUES (
'".$date."';,
'".$_SERVER['REMOTE_ADDR']."',
'".$_SERVER['PHP_SELF']."'
)";
counter(
datumtijd,
ipadres,
pagina
)
VALUES (
'".$date."';,
'".$_SERVER['REMOTE_ADDR']."',
'".$_SERVER['PHP_SELF']."'
)";
Gewijzigd op 01/01/1970 01:00:00 door Dion
schrijf 0 in je tekstfile
}
Die dag wordt er door FRank ook al in gezet en ook nog op de goede manier met NOW() ipv date
Jurgen schreef op 31.10.2006 17:23:
if (time(H:i:s) == "00:00:00"){
schrijf 0 in je tekstfile
}
schrijf 0 in je tekstfile
}
Dit slaat natuurlijk nergens op. Dan moet er iemand om prceis 12 uur op je site komen. Tevens gaat het hier over een DB en niet een txt file
Wanneer jij gegevens wilt OPHALEN, dan is het een ander verhaal, dan wil je natuurlijk opgeven van welke dag of welk uur dat is. Dat heeft alleen niets te maken met een INSERT, waar jij het nu over hebt.
Klaasjan Boven schreef op 31.10.2006 17:26:
'En ook nog op de goede manier' !!! Ja, ja, dat had je vast en zeker niet van mij verwacht!Die dag wordt er door FRank ook al in gezet en ook nog op de goede manier met NOW() ipv date
geintje... ;)
Klaasjan Boven schreef op 31.10.2006 17:28:
Dit slaat natuurlijk nergens op. Dan moet er iemand om prceis 12 uur op je site komen. Tevens gaat het hier over een DB en niet een txt file
Jurgen schreef op 31.10.2006 17:23:
if (time(H:i:s) == "00:00:00"){
schrijf 0 in je tekstfile
}
schrijf 0 in je tekstfile
}
Dit slaat natuurlijk nergens op. Dan moet er iemand om prceis 12 uur op je site komen. Tevens gaat het hier over een DB en niet een txt file
Zoals ik het begrijp heeft/had hij het getal in zijn txtfile staan en wil hij deze resetten. maar daarna kwam ik op de conclusie dat mijn dingetje niet klopte mijn excuses
maar wat moet ik nu invullen bij datumtijd = '' ";? want als ik daar ok NOW() intyp kijkt hij ook naar de seconden. en dat moet ik niet, ik moet van de dagen. hoe kan ik dan doen dat hij alleen naar 2006-10-31 kijkt?
en @jurgen. Maak niet uit dat het over het txt filetje ging! ik vind het al aardig dat je helpt!;)
Gewijzigd op 01/01/1970 01:00:00 door Dion
Op het moment dat jij de data wilt ophalen en iets met de gegevens wilt gaan doen, dan verandert de zaak. Jij wilt bijvoorbeeld alleen de gegevens van vandaag hebben (WHERE datum = CURDATE() ) en de datum in het formaat dd/mm/'yy hebben. Dan ga je de functie DATE_FORMAT() op jouw datum loslaten.
Hoe je het ook went of keert, je kunt onmogelijk 'last' hebben van de secondes, je doet er alleen wat mee wanneer jij ze nodig hebt. Heb je ze niet nodig, blijf er dan vanaf.
Zie verder hoofdstuk 12.5 van de MySQL-handleiding.
Gewijzigd op 01/01/1970 01:00:00 door Frank -