![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 0 Dołączył: 10.11.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam pytanie jak zrobic żeby dane ktore wysyłamam do mysql zostawały usuwane po 2 minutach gdzie usuwa te dane ktore sa przypisane z danego adresu IP, acha i ejsszce w mysql czy musze dać timestamp czy varchar?? Npsiałęm taki kod ale nie działa:( [php:1:6f31040dd7]<?php $ip = $REMOTE_ADDR; $klik = mysql_query("INSERT INTO klik VALUES ('".$ip."', '')"); // pole czas_aktywnosci to te wczesniejsze time()+120 mysql_query("delete from klik where czas < ".time()+120); ?>[/php:1:6f31040dd7] Pozdrawiam Tomek |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 101 Pomógł: 0 Dołączył: 10.10.2003 Ostrzeżenie: (0%) ![]() ![]() |
sproboj tak[php:1:347e0ff8e7]mysql_query("DELETE FROM klik WHERE czas<'".(time()-120)."'");[/php:1:347e0ff8e7]i jeszcze drobna uwaga przy usuwaniu rekordow ma byc - a nie plus bo on ma sobie odejmowac czas i go porownac a nie dodac do niego
-------------------- Warsztat: Apache: 1.3.29 | MySQL: 3.23.58 | PHP: 4.3.4 | phpMyAdmin: 2.5.4 Narzędzia: Notatnik 0.1 - Photoshop 7.0 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 131 Pomógł: 0 Dołączył: 19.08.2003 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
W MySQL wartości liczbowych nie pisze się w ''...
Cytat czy musze dać timestamp czy varchar??
Daj int(10) a wypełniaj w ten sposób: [php:1:b431fee825]<?php mysql_query( 'INSERT INTO klik VALUES('tutaj_ip', UNIX_TIMESTAMP())' ); ?>[/php:1:b431fee825] A usuwaj w ten sposób: [php:1:b431fee825]<?php mysql_query( 'DELETE FROM klik WHERE czas < '. time() + 120 .' AND ip = '. $_SERVER['REMOTE_ADDR'] .'' ); ?>[/php:1:b431fee825] -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 101 Pomógł: 0 Dołączył: 10.10.2003 Ostrzeżenie: (0%) ![]() ![]() |
partyzant a czemu on ma sprawdzac po IP skoro usuwa po pewnym czasie
![]() -------------------- Warsztat: Apache: 1.3.29 | MySQL: 3.23.58 | PHP: 4.3.4 | phpMyAdmin: 2.5.4 Narzędzia: Notatnik 0.1 - Photoshop 7.0 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 0 Dołączył: 10.11.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
No partyzant nic sie nie usuwa z mysql
![]() 192.168.1.2 1085233007 192.168.1.2 1085232972 192.168.1.2 1085232971 itp. ![]() i po 2 minutach nic nie usuwa :/ |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
[sql:1:0fa32fbea1]...WHERE czas < '. time() + 120 .'...[/sql:1:0fa32fbea1]
Hmm...ja tu czegoś nie rozumiem. Ten warunek chyba jest prawdziwy w momencie dodania wpisu... Np. dodajesz wpis o czasie powiedzmy 1000 (żeby było prosciej). I w momencie dodania masz taką sytuację: 1000 < 1000+120. Jak dla mnie to powinno być czas < time() - 120. Wtedy po dwóch minutach warunek jest nieprawdziwy: 1000 < 1120 - 120, bo 1000 = 1120 - 120. A dlaczego nie znika? Przy tym warunku powinno wszystko działać. Jak chcesz sprawdzić czy usuwa, najlepiej usuń (weź ją w komentarz) na chwilę linię dodającą wpis. -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 0 Dołączył: 10.11.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
no patrz mam taki kod:
[php:1:ba24927a01]<?php $dburl = "localhost"; $dblogin = "login"; $dbpasswd= "haslo"; $dbname = "nazwa"; mySQL_connect($dburl, $dblogin, $dbpasswd); mySQL_select_db($dbname); $strona = $_GET['strona']; echo "1 punkt zaliczony dla $strona <br><br>"; $ip = $REMOTE_ADDR; mysql_query( 'INSERT INTO klik VALUES("'.$ip.'", UNIX_TIMESTAMP())' ); mysql_query( 'DELETE FROM klik WHERE czas < '. time() - 120 .' AND ip = '. $_SERVER['REMOTE_ADDR'] .'' ); echo "Strony bior¹ce udzia³ w konkursie www:<br>"; $querykonkurswww = "select * from strony ORDER by ID DESC "; $resultkonkurswww = mySQL_query($querykonkurswww); while($rowkonkurswww = mysql_fetch_array($resultkonkurswww)) { echo "<a href=".$rowkonkurswww['adres'].">".$rowkonkurswww['adres']."</a><br>"; } ?>[/php:1:ba24927a01] No i jakoś nie działa ;/ |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 131 Pomógł: 0 Dołączył: 19.08.2003 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Ludvik masz rację - powinien być '-'...
A co do skryptu to daj time() - 120 do zmiennej a potem w zapytaniu nazwe zmiennej... -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 0 Dołączył: 10.11.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Nie działa(nic nie usuwa z mysql
![]() ![]() [php:1:cc61e9b0ac]<?php $dburl = "localhost"; $dblogin = ""; $dbpasswd= ""; $dbname = ""; mySQL_connect($dburl, $dblogin, $dbpasswd); mySQL_select_db($dbname); $strona = $_GET['strona']; echo "1 punkt zaliczony dla $strona <br><br>"; $ip = $REMOTE_ADDR; mysql_query( 'INSERT INTO klik VALUES("'.$ip.'", UNIX_TIMESTAMP())' ); $konkurstime = time() - 120; mysql_query( 'DELETE FROM klik WHERE czas < '. $konkurstime .' AND ip = '. $_SERVER['REMOTE_ADDR'] .'' ); echo "Strony bior¹ce udzia³ w konkursie www:<br>"; $querykonkurswww = "select * from strony ORDER by ID DESC "; $resultkonkurswww = mySQL_query($querykonkurswww); while($rowkonkurswww = mysql_fetch_array($resultkonkurswww)) { echo "<a href=".$rowkonkurswww['adres'].">".$rowkonkurswww['adres']."</a><br>"; } ?>[/php:1:cc61e9b0ac] |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 5.05.2004 Skąd: Starachowice Ostrzeżenie: (0%) ![]() ![]() |
[php:1:0de01a5b24]<?php
$dburl = "localhost"; $dblogin = ""; $dbpasswd= ""; $dbname = ""; mySQL_connect($dburl, $dblogin, $dbpasswd); mySQL_select_db($dbname); $strona = $_GET['strona']; echo "1 punkt zaliczony dla $strona <br><br>"; // tytaj pole które masz jako czas zdefiniuj je na datetime i w pole default daj now () mysql_query("INSERT INTO klik (ip, czas) VALUES('$_SERVER[REMOTE_ADDR]', now() )"); // tutaj wyliczam czas w połączeniu komend mktime i date $konkurstime = date ("Y-m-d H:i:s", mktime(date("H"), date("i")-2, date("s"), date("m"), date("d"), date("Y") ) ); mysql_query("DELETE FROM klik WHERE czas<'$konkurstime'"); echo "Strony bior¹ce udzia³ w konkursie www:<br>"; $querykonkurswww = "select * from strony ORDER by ID DESC "; $resultkonkurswww = mySQL_query($querykonkurswww); while($rowkonkurswww = mysql_fetch_array($resultkonkurswww)) { echo "<a href=".$rowkonkurswww['adres'].">".$rowkonkurswww['adres']."</a><br>"; } ?> [/php:1:0de01a5b24] Pamiętaj tumeks o tym, że ten kod napisałem do bazy mysql która w twojej tabelce ma pole czas o typie datetime i defaultowo wpisane now() Jeśli nie zadziała nadal to pisz do mnie na priv to Ci pomogę. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 20.03.2004 Skąd: Szczebrzeszyn Ostrzeżenie: (10%) ![]() ![]() |
Propozycja: ustal odpowiedni timelimit i ignoreuserabort na 1 i sleepem manipuluj.
-------------------- while(!$wakacje){ czekaj();
} if($wakacje){ yuppie(); } exit; |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 10:15 |