Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> 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
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.
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!!! (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Jak tylko znajdę wolną chwilkę to popróbuje z tym wiekiem (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 14:30