webForumDet fria alternativet
Logga in / Bli medlem

mySQL radering kl 00:01

PHP

9 svar · 288 visningar · startad av BeaR123

Medlem sedan aug. 200190 inlägg
Frågan#1

Tjenare

Jag har gjort ett script som skickar vidare besökaren till en sida och räknar kronorna som tjänas. Men jag har ett problem, för att inte räkna fel så har jag satt in en funktion som lägger till besökarens IP i en mySQL databas,

tabell: ip_bas
fält: ip & tid

om en besökare klickar på en länk kl 21:04 så skrivs det i databasen i någon stil med detta:
IP_______ | Tid:
127.0.0.1 | 21:04

sen så vill jag nollställa alla IP i databasen när klockan blir 00:01 alltså en ny dag, hur gör jag så att alla inlägg i tabellen försvinner kl 00:01 eller 23:59. Jag vet så att scriptet kan kolla vad klockan e och radera, men då behövs ju scriptet laddas hela tiden. Kan man inte göra så att tabellen nollställs utan att scriptet.php behövs öppnas. För har man lite besökare så öppnas inte scriptet så ofta och då raderas dem inte...

Tacksam för svar!
mvh björn

Medlem sedan mars 20007 896 inlägg
#2

Om det är din server har jag skrivit ett litet Java-program som är igång hela tiden, som vid ett bestämt klockslag kör en fil. Den filen skulle då kunna radera det i databasen.

Annars är det nog svårt att åstadkomma med bara MySQL och PHP, för att inte säga omöjligt.

Medlem sedan sep. 20011 086 inlägg
#3

om du har tillgång till servern så kan du göra ett script som körs kl 00.01.
i unix som cron-jobb i windows me schemaläggaren skulle ja tro..

Medlem sedan aug. 200190 inlägg
#4

hmm... vad för java program?

det finns alltså inget annat sätt med hjälp av bara PHP och mySQL?

Medlem sedan nov. 200116 inlägg
#5

Hej,

Nej och ja.

Den bästa lösningen är genom ”cron” eller ”schemaläggaren” men om du inte själv äger serven så kan du inte använda dig av dessa funktioner.

Du kan istället göra ett .php script som du inkluderar i ditt script. Den bör kolla tiden och om det är en ny dag (efter 00.00) och det kommer en ny besökare till sidan så kan du använda dig av besökaren för att aktivera nollställningen. Denna lösning är dock inte exakt om du vill att det ska ske 00.00 men ingen efter 00.00 kommer att kunna se några IP nummer då scriptet körs vid första besöker och raderar alla IP nummer.

Hoppas detta är till hjälp.

Medlem sedan aug. 200190 inlägg
#6

Jo, det var så jag tänkte på att man kunde göra, jag kom på det nu på natten. Jaja, man behöver inte vara så exakt...

Medlem sedan juni 2001181 inlägg
#7

Cron brukar tilllåtas även om du inte äger servern. Har haft tillgång till det på alla webhotell jag varit på.

Medlem sedan apr. 20007 588 inlägg
#8

Om det är din server har jag skrivit ett litet Java-program som är igång hela tiden, som vid ett bestämt klockslag kör en fil. Den filen skulle då kunna radera det i databasen.

Najs SPiN... Har du någonsin hört talas om uttrycket "uppfinna hjulet på nytt"? ;) :e

Cron eller Schemaläggaren, beroende på OS, är nyckeln!

Medlem sedan mars 20007 896 inlägg
#9

Jamen jag hade inte tillgång till det. :l

Därför skrev jag ett eget litet skitprogram...

Medlem sedan apr. 20007 588 inlägg
#10

Jamen jag hade inte tillgång till det.

På så sätt, då är jag med. Då faller det snarare under "nöden har ingen lag" än under "uppfinna hjulet på nytt" ;)

384 ms totalt · 4 externa anrop · v20260731065814-full.14655e19
118 ms — deklarationer (db)
127 ms — hämta statistik (db)
128 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)