Cronjob. om 24:00 de teller op 0 zetten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dion

Dion

31/10/2006 15:58:00
Quote Anchor link
Hallo ik heb een keer gehoord dat je met een cronjob automatisch een teller op 0 kan zetten. ik heb alleen geen idee hoe zo'n cronjob werkt. en in de tutorials section hier heb ik ook niets gevonde. daarom dus:

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
 
PHP hulp

PHP hulp

23/04/2024 11:41:40
 
- SanThe -

- SanThe -

31/10/2006 16:01:00
Quote Anchor link
Heb je wel de beschikking over cronjobs?
 
Frank -

Frank -

31/10/2006 16:05:00
Quote Anchor link
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.
 
Elwin - Fratsloos

Elwin - Fratsloos

31/10/2006 16:09:00
Quote Anchor link
Verder is ook Google jouw vriend! Er zal wel iets staat op http://www.google.nl/search?hl=nl&q=cronjob+tutorial&btnG=Zoeken&meta=lr%3Dlang_nl.

Elwin
 
PHP Newbie

PHP Newbie

31/10/2006 16:09:00
Quote Anchor link
Cronjob is een taak die je op bepaalde (vaste) tijdstippen door de server kunt laten uitvoeren.

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.
 
Dion

Dion

31/10/2006 16:10:00
Quote Anchor link
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.
 
Elwin - Fratsloos

Elwin - Fratsloos

31/10/2006 16:16:00
Quote Anchor link
Dan gewoon lekker doen als Frank voorstelt. Denk aan een DATE in je DB. Dan heb je netjes per datum de bezoeken.

Daarnaast hou je dan ook nog een historie bij. Wellicht leuk om in de toekomst wat mee te doen (statistieken bijvoorbeeld).

Elwin
 
Frank -

Frank -

31/10/2006 16:22:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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
?>

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.
 
Dion

Dion

31/10/2006 16:29:00
Quote Anchor link
bedankt!. hoe kan je dan doen dat hij kijkt hoeveel Records er op de "date" zijn?
ik weet wel hoe ik allemaal uit de database kan neerzetten op de pagina. maar niet hoe ik ze moet optellen.
 
Frank -

Frank -

31/10/2006 16:37:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
SELECT
  count(1) AS aantal
FROM
  tabelnaam
WHERE
  datum = '2006-10-31'

Dit levert het aantal bezoekers van 31 oktober 2006 op.
 
Dion

Dion

31/10/2006 16:41:00
Quote Anchor link
Vet! bedankt:D
 
Dion

Dion

31/10/2006 17:11:00
Quote Anchor link
nog een probleempje.
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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
  'INSERT INTO
  counter(
    datumtijd,
    ipadres,
    pagina
  )
VALUES (
  '".$date."';,
  '".$_SERVER['REMOTE_ADDR']."',
  '".$_SERVER['PHP_SELF']."'
)";
Gewijzigd op 01/01/1970 01:00:00 door Dion
 
Jurgen assaasas

Jurgen assaasas

31/10/2006 17:23:00
Quote Anchor link
if (time(H:i:s) == "00:00:00"){

schrijf 0 in je tekstfile

}
 
Klaasjan Boven

Klaasjan Boven

31/10/2006 17:26:00
Quote Anchor link
Die dag wordt er door FRank ook al in gezet en ook nog op de goede manier met NOW() ipv date
 
Klaasjan Boven

Klaasjan Boven

31/10/2006 17:28:00
Quote Anchor link
Jurgen schreef op 31.10.2006 17:23:
if (time(H:i:s) == "00:00:00"){

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
 
Frank -

Frank -

31/10/2006 17:29:00
Quote Anchor link
Wat is er mis met de database-functie NOW() ? Je wilt toch het tijdstip waarop iemand de pagina bezoekt in de database wegschrijven? Ga dan niet lopen klooien met variabelen in php, laat de database het lekker zelf uitzoeken. Zie mijn voorbeeld.

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.
 
Frank -

Frank -

31/10/2006 17:31:00
Quote Anchor link
Klaasjan Boven schreef op 31.10.2006 17:26:
Die dag wordt er door FRank ook al in gezet en ook nog op de goede manier met NOW() ipv date
'En ook nog op de goede manier' !!! Ja, ja, dat had je vast en zeker niet van mij verwacht!

geintje... ;)
 
Jurgen assaasas

Jurgen assaasas

31/10/2006 17:32:00
Quote Anchor link
Klaasjan Boven schreef op 31.10.2006 17:28:
Jurgen schreef op 31.10.2006 17:23:
if (time(H:i:s) == "00:00:00"){

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
 
Dion

Dion

31/10/2006 17:35:00
Quote Anchor link
ooh.. oke.
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
 
Frank -

Frank -

31/10/2006 17:41:00
Quote Anchor link
Wie moet nu waar naar kijken? Je hebt het over een INSERT-query. Geen hond die dus ook maar iets doet met de data, er wordt helemaal nergens naar gekeken, er wordt gewoon heel lomp een datumtijd-stempel in de database gezet.

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 -
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.