Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ilość dni
Forum PHP.pl > Forum > PHP
Voluman
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...
Cezar708
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. ?>
nevt
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.
Voluman
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.