Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql]Jak zrobić żeby licznik resetował się o 12 w nocy każdego dnia?
bobo168
post 1.09.2006, 19:18:25
Post #1





Grupa: Zarejestrowani
Postów: 201
Pomógł: 9
Dołączył: 23.08.2006

Ostrzeżenie: (0%)
-----


Mam problem chce zrobić licznik odwiedzin na stronie który bedzię pokazywał ile było dziś łącznie wizyt (jedno ip jest raz zliczane!). Mam praktycznie już wszystko gotowe tylko teraz nie wiem jak zrobić żeby licznik na początku każdego dnia się resetował (czyt. usuwał rekordy z tabel mysql).
Mam taki o to sobie kod:
  1. <?php
  2. //łączenie z MySQL
  3. if (!mysql_connect('localhost', 'root', '')) 
  4. {
  5. exit('Błąd:');
  6. }
  7. //wybieranie bazy
  8. if (!mysql_select_db('ijdb')) 
  9. {
  10. exit('Błąd');
  11. }
  12. //Dodajemy do tabel
  13. //Dane
  14. $ip=$_SERVER['REMOTE_ADDR'];
  15. mysql_query("INSERT IGNORE INTO ip SET ip ='$ip'")
  16. or die('Blad: '+mysql_error());
  17. $czas=date("H,i,s,m,d,Y");
  18. mysql_query("INSERT INTO czas SET czas='$czas'")
  19. or die('Blad: '+mysql_error());
  20.  
  21. echo '<p> Statystyki:</p>';
  22. $result = mysql_query('SELECT COUNT(*) FROM ip');
  23. $row=mysql_fetch_array($result);
  24. $ile=mysql_num_rows($result);
  25. echo "Dzisiaj: ". $ile;
  26. ?>

I teraz moje pytanie brzmi jak zrobić żeby na początku każdego dnia (najlepiej o godzinie 0:00:00 badz 23:59:59) usuwaly sie rekordy tabeli ip (czyt. resetował się licznik)? Z góry THX!
UWAGA: NIE życze sobie aby mój skrypt był używany w własnych celach!

Ten post edytował bobo168 1.09.2006, 19:34:15
Go to the top of the page
+Quote Post
nospor
post 1.09.2006, 19:46:59
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Szukaj na forum pod haslem CRON

Cytat
UWAGA: NIE życze sobie aby mój skrypt był używany w własnych celach!
Luzik winksmiley.jpg


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
alex19
post 1.09.2006, 19:47:02
Post #3





Grupa: Zarejestrowani
Postów: 172
Pomógł: 7
Dołączył: 23.12.2005
Skąd: Wejherowo

Ostrzeżenie: (0%)
-----


Poprostu ustaw na poczatku tego skryptu usuwanie rekordow starszych niz poprzedni dzien.
Czyli jak dzis jest 1 to skasuj wszystkie z 31 i po sprawie. Kasowanie nie bedzie sie coprawda odbywalo o 00.00 ale jak tylko ktos wejdzie na strone.
Go to the top of the page
+Quote Post
bobo168
post 1.09.2006, 19:53:08
Post #4





Grupa: Zarejestrowani
Postów: 201
Pomógł: 9
Dołączył: 23.08.2006

Ostrzeżenie: (0%)
-----


Alex twój pomysł jest ok. Ale gorzej bedzie z wykonaniem bo jak skrypt sprawdzi jaki był wczoraj dzień?
Go to the top of the page
+Quote Post
alex19
post 1.09.2006, 19:59:41
Post #5





Grupa: Zarejestrowani
Postów: 172
Pomógł: 7
Dołączył: 23.12.2005
Skąd: Wejherowo

Ostrzeżenie: (0%)
-----


Bardzo prosto smile.gif
Dzis - 24h musi dac wczoraj tongue.gif
  1. <?php
  2. $wczoraj = timie() - (24*60*60); //teraz - 24h*60m*60s
  3. $wczoraj_dzien = date("d",$wczoraj); //numer dnia
  4. ?>


Ten post edytował alex19 1.09.2006, 20:00:41
Go to the top of the page
+Quote Post
nospor
post 1.09.2006, 20:17:46
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Ten pomysl na chwile obecna ma jedną wade:
skrypt bedziel walil zapytanie usuwajace przy kazdym requescie. Nie wazne, że nic nie bedzie mial do usuniecia, tak czy sia bedzie walil zapytanie


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
alex19
post 1.09.2006, 20:22:21
Post #7





Grupa: Zarejestrowani
Postów: 172
Pomógł: 7
Dołączył: 23.12.2005
Skąd: Wejherowo

Ostrzeżenie: (0%)
-----


Mozna by cos pokombinowac jeszcze z zapisywaniem gdzies czy dane sie juz skasowamy czy tez nie, ale na to nie mam zadnego pomyslu jak to rozwiazac.
Go to the top of the page
+Quote Post
bobo168
post 1.09.2006, 20:25:09
Post #8





Grupa: Zarejestrowani
Postów: 201
Pomógł: 9
Dołączył: 23.08.2006

Ostrzeżenie: (0%)
-----


Czyli ten pomysł odpada?
Go to the top of the page
+Quote Post
alex19
post 1.09.2006, 20:30:21
Post #9





Grupa: Zarejestrowani
Postów: 172
Pomógł: 7
Dołączył: 23.12.2005
Skąd: Wejherowo

Ostrzeżenie: (0%)
-----


Wg mnie nie odpada smile.gif
Poprostu ma taka mala wade ze za kazdym wywolaniem skryptu bedzie probowal kasowac stare dane, a co za tym idzie bedzie wiele razy(tyle ile bedzie wejsc w ciagu dnia -1) wykonywalo niepotrzebne zapytanie.
Go to the top of the page
+Quote Post
bobo168
post 1.09.2006, 20:35:05
Post #10





Grupa: Zarejestrowani
Postów: 201
Pomógł: 9
Dołączył: 23.08.2006

Ostrzeżenie: (0%)
-----


A czy to ma jakieś konsekfencje?
Go to the top of the page
+Quote Post
alex19
post 1.09.2006, 20:37:24
Post #11





Grupa: Zarejestrowani
Postów: 172
Pomógł: 7
Dołączył: 23.12.2005
Skąd: Wejherowo

Ostrzeżenie: (0%)
-----


Nie ma innych. Bogiem jednak w tych sprawach nie jestem i sobie glowy nie dam za to obciac.
Go to the top of the page
+Quote Post
bobo168
post 1.09.2006, 20:47:43
Post #12





Grupa: Zarejestrowani
Postów: 201
Pomógł: 9
Dołączył: 23.08.2006

Ostrzeżenie: (0%)
-----


OK a czy jest takie zapytanie w mysql które przenosi rekordy tabeli do innej tabeli?
Go to the top of the page
+Quote Post
alex19
post 1.09.2006, 20:50:33
Post #13





Grupa: Zarejestrowani
Postów: 172
Pomógł: 7
Dołączył: 23.12.2005
Skąd: Wejherowo

Ostrzeżenie: (0%)
-----


Hmmm... a po co ci to?

Domyslam sie ze chcesz zrobic licznik ktory nie tylko bedzie pokazywal odwiedziny dzis, ale i wszytkie odwiedziny.
To wszystko mozna zapisywac do jednej tabeli i wybierac tylko te rekordy ktore nas interesuja czyli np z dzisiejszego dnia, z wczoraj, z calego tygodnia, z miesiaca, wszystko itp itd.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 10:47