Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL] Wykonaj coś po pewnym czasie
kisiel18
post 6.06.2011, 14:37:13
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 1.06.2011

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


Czy jest mozliwosc aby: jesli plik php otrzyma jakas wartosc przez posta i uptaduje wartosc w tabeli a nastepnie po pewnym okreslonym czasie zmieni ta wartosc w tabeli na inna.


Wartosc bedzie przechodzila ajaxem do pliku i to bez najmniejszego problemu potrafie zrobic ale zmiana wartosci juz koniecznie musi sie odbywac na serwerze po jakims czasie (czyli ze musi sie to robic automatycznie po pewnym czasie a nie ze ajax przesle komende). Jest taka opcja w php - zrob cos po pewnym czasie questionmark.gif
Go to the top of the page
+Quote Post
peter13135
post 6.06.2011, 14:42:41
Post #2





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


nie rozumiem o co chodzi :/


--------------------
:)
Go to the top of the page
+Quote Post
Louner
post 6.06.2011, 14:48:41
Post #3





Grupa: Zarejestrowani
Postów: 99
Pomógł: 5
Dołączył: 20.06.2005
Skąd: Bielsk Podlaski

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


Musisz do tego użyć Cron, albo czegoś podobnego. Chodzi o to, żeby coś wywołało z zewnątrz skrypt PHP, który zmodyfikuje bazę.
Go to the top of the page
+Quote Post
kisiel18
post 6.06.2011, 14:49:20
Post #4





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 1.06.2011

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


plik php dostaje jakas wartosc metoda POST przez ajaxa

ta wartosc jest wlozona do bazy danych

mija 30 sekund i ta wartosc jest usunieta z tabeli i np miejsce zostaje puste ?

Ten post edytował kisiel18 6.06.2011, 14:50:40
Go to the top of the page
+Quote Post
Louner
post 6.06.2011, 14:52:59
Post #5





Grupa: Zarejestrowani
Postów: 99
Pomógł: 5
Dołączył: 20.06.2005
Skąd: Bielsk Podlaski

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


Ewentualnie możesz dodać do tej tabeli dodatkową kolumnę z czasem dodania rekordu (dla wygody niech to będzie INT, a nie DATESTAMP, czy coś podobnego), a potem na samym początku Twojego skryptu wstawić kod podobny do tego:

  1. <?php
  2. $halfHour = 1800;
  3. db_query("DELETE FROM twoja_tabela WHERE czas_dodania_rekordu < ".(time()-$halfHour).";");
  4. ?>


Wtedy na stronie na pewno nie pojawią się niepożądane dane. Jeżeli zależy Ci, żeby wartości kasowały się automatycznie, to zostaje tylko Cron. tongue.gif

Ten post edytował Louner 6.06.2011, 14:54:14
Go to the top of the page
+Quote Post
peter13135
post 6.06.2011, 14:55:54
Post #6





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


No to jak ktoś wyżej napisał, można użyć crona.

Ale.. widzę jeszcze inne rozwiązanie, bez użycia crona. Mianowicie dodaj sobie kolumnę date (int) dodawaj do niej uniksowy znacznik czasu (time()) i przy wywoływaniu skryptu na początku rób zapytanie
  1. DELETE FROM tabela WHERE date<now()-30


--------------------
:)
Go to the top of the page
+Quote Post
kisiel18
post 6.06.2011, 15:07:34
Post #7





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 1.06.2011

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


tak panowie ale jesli wartosc nie dotrze to nie wywoła tych skryptow usuwania i wartosc w tabeli zostanie

a ja potrzebuje koniecznie zeby sie usuwala sama






- mam nadzieje ze wiecie o co mi chodzi smile.gif



Go to the top of the page
+Quote Post
aeaeae
post 6.06.2011, 15:34:45
Post #8





Grupa: Zarejestrowani
Postów: 117
Pomógł: 23
Dołączył: 5.03.2011

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


Możesz napisać do czego konkretnie tego potrzebujesz?

Może wystarczy np. przypisać do zmiennej sesji czas i te dane, które mają się po 30s kasować?
Go to the top of the page
+Quote Post
Fifi209
post 6.06.2011, 16:08:06
Post #9





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Napisz sobie skrypt do obsługi kolejki, do kolejki dodawaj zadania, kolejka może być trzymana w bazie bądź pliku, ja bym stawiał na rozwiązanie z bazą.
Następnie co określony czas wywołujesz skrypt, który wykonuje zadania umieszczone w kolejce.

To tyle, jeżeli dobrze zrozumiałem.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
PeterBass
post 6.06.2011, 16:20:19
Post #10





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 7.03.2011

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


Możesz też spróbować instrukcji sleep. wink.gif
Go to the top of the page
+Quote Post
kisiel18
post 6.06.2011, 22:03:41
Post #11





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 1.06.2011

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


PeterBass - WLASNIE O TO CHODZILO - NIE ZNALEM TEGO ALE TO POMOGLO smile.gif DZIEKI WIELKIE exclamation.gif
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: 10.07.2025 - 05:53