Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Kombinacja z IF'em oraz Mysql_Query
Klycior
post
Post #1





Grupa: Zarejestrowani
Postów: 116
Pomógł: 2
Dołączył: 31.05.2009

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


Witam,

Stworzyłem pewny system który w bazie ma zapisany czas wygaśnięcia konta przez użytkownika.Cały system nie posiada jednak systemu logowania dla osób bo jest on nie potrzebny w moim zastosowaniu.Podczas zakładania konta przez użytkownika zapisuje się w bazie w tabeli \\\"dokiedy\\\" czas do którego dodałem 1 miesiąc.
Zrzut z bazy:

I teraz muszę napisać funkcję która sprawdza aktualny czas z czasem \\\"dokiedy\\\" i kiedy czas time() będzie większy od czasu \\\"dokiedy\\\" to musi zostać zmieniony status czyli \\\"aktywne=0\\\" lecz nie mam pojęcia jak to zrobić hurtowo dla wszystkich użytkowników.
Problem z stwierdzaniem czy status ma być zmieniony wymyśliłem tak:


  1. $wyswietl = mysql_query(\\\"SELECT id, username, access, dokiedy, aktywny FROM test\\\");
  2. $tab[\\\'dokiedy\\\'] < time();{
  3. mysql_query(\\\"UPDATE users SET aktywny=0 WHERE username=\\\'\\\" . $tab[\\\'username\\\'] . \\\"\\\'\\\");

Zmienna $tab posiada pętlę.
Nie mam pojęcia jak to napisać, pomoże ktoś ?

Ten post edytował Klycior 15.03.2010, 21:58:46
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
MateuszS
post
Post #2





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


  1. $wyswietl = mysql_query("SELECT * FROM amx_amxadmins");
  2. $czas = time();
  3. while($wynik = mysql_fetch_assoc($wyswietl))
  4. {
  5.  
  6. if($wynik["dokiedy"] < $czas) {
  7. $zap = mysql_query("UPDATE amx_admins_servers SET aktywny=0 WHERE username='" . $wynik['username'] . "'");
  8. }
  9. }


Ten post edytował MateuszScirka 15.03.2010, 22:01:16


--------------------
O! Zimniok :P
Go to the top of the page
+Quote Post
Klycior
post
Post #3





Grupa: Zarejestrowani
Postów: 116
Pomógł: 2
Dołączył: 31.05.2009

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


DoKiedy mam równe 1260365621
Ale nie zmienił mi statusu.
Go to the top of the page
+Quote Post
MateuszS
post
Post #4





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


pokaz jakis sensowny screen bazy bo ten co dales to hmm... biggrin.gif

PS dopisz po zapytaniach



Ten post edytował MateuszScirka 15.03.2010, 22:18:08


--------------------
O! Zimniok :P
Go to the top of the page
+Quote Post
Klycior
post
Post #5





Grupa: Zarejestrowani
Postów: 116
Pomógł: 2
Dołączył: 31.05.2009

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


No właśnie teraz zauważyłem smile.gif
Go to the top of the page
+Quote Post
MateuszS
post
Post #6





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


Zauwaz ze pobierasz dane SELECTem z innej tabeli a probujesz UPDATE'owac inna. Weź je zamień na tą w której jest pole dokiedy, username itd


--------------------
O! Zimniok :P
Go to the top of the page
+Quote Post
Klycior
post
Post #7





Grupa: Zarejestrowani
Postów: 116
Pomógł: 2
Dołączył: 31.05.2009

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


Faktycznie winksmiley.jpg
Chyba już nie ta pora na myślenie.

Dziękuję.
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 Aktualny czas: 22.08.2025 - 08:21