Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ilość dni
Voluman
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 20.01.2008

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


Jak zrobić skrypt który oblicza od ilu dni dana osoba jest zarejestrowana? Zrobiłem w mysql kolumnę z datą przyłączenia, ale nie wiem jaki ma być format i jak to obliczać...

Zrobiłem takie coś:

Kod
$a=mysql_query("select Data_Utw from uzytkownicy);
$row=mysql_fetch_array($a);
$data=$row['Data_Utw'];
$data_teraz=time();
$czas=$data_teraz-$data;
$wiek=$czas/5184000;


I niestety wyświetla mi, że np. użytkownik jest zarejestrowany od 19 dni, ale z upływem czasu to się nie zmienia...

Ten post edytował Voluman 27.01.2008, 11:42:39
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Cezar708
post
Post #2





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


No to tak:

po pierwsze musisz powiedzieć w jakim formacie jest zapisana data w MySQL (czyli, czy jest to unix_timestamp czy zwykły timestamp lub date).

zrób tak:

  1. <?php
  2. $a=mysql_query("select Data_Utw from uzytkownicy");
  3. $data=$row['Data_Utw'];
  4. $data_teraz=time();
  5.  
  6. // jeśli data jest typu `date` lub `timestamp` to dodaj tę zakomentowaną linijkę poniżej
  7. // $data = strtotime($data);
  8.  
  9. $czas=$data_teraz-$data;
  10.  
  11. // $czas jest w sekindach, Ty chcesz obliczyć liczbę dni, więc dzielisz przez liczbę sekund podczas jednego dnia
  12. // w ciągu jednego dnia jest: 60[sek] * 60[min] * 24[h] = 86400[sekund]
  13.  
  14. $wiek=$czas/86400;
  15.  
  16. // $wiek to liczba dni (ale jest float, więc możesz zaokręglić w górę lub w dół będziesz miał liczbę pełnych dni 
  17. // odkąd jest zarejestrowany lub liczbę niepełnych dni
  18.  
  19. // popróbuj:
  20.  
  21. echo round($wiek);
  22. echo ceil($wiek);
  23. echo floor($wiek);
  24. ?>


Ten post edytował Cezar708 27.01.2008, 11:56:07
Go to the top of the page
+Quote Post
nevt
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


kolumna Data_Utw powinna być typu DATE lub DATETIME... wtedy to co ci potrzebne wyciągasz od razu w MySQL:
  1. SELECT DATEDIFF(NOW(), Data_Utw) AS ile_dni FROM uzytkownicy;

powodzenia.


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

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
Voluman
post
Post #4





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 20.01.2008

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


Wielkie dzięki za rady!!! biggrin.gif

Jak tylko znajdę wolną chwilkę to popróbuje z tym wiekiem biggrin.gif

Na początku próbowałem zapisywać time() który był ustalany podczas rejestracji do mysql do kolumny typu int, ale jak się okazało nie jest to chyba najlepsze rozwiązanie sadsmiley02.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 Aktualny czas: 22.08.2025 - 00:33