Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Dodano X dni temu
andrzej_
post
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 1
Dołączył: 11.06.2010

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


Pytanko, często dodaje newsy na stronę, i chciałbym żeby zamiast daty dodania w newsach z ostatnich 30 dni wyświetlało się 'zostało dodane x dni temu', próbowałem przez odejmowanie daty dodania od dzisiejszej, ale nie trybi, jakaś wkazówka?
Go to the top of the page
+Quote Post
Kamil9132
post
Post #2





Grupa: Zarejestrowani
Postów: 210
Pomógł: 0
Dołączył: 7.11.2010

Ostrzeżenie: (10%)
X----


Możesz spróbować tak:
  1. $godzina = date(G);
  2. $minuta = date(i);
  3. $sekunda = date(s);
  4. $miesiac = date(n);
  5. $dzien = date(j);
  6. $rok = date(Y);
  7.  
  8.  
  9.  
  10.  
  11. $przyszla = mktime($godzina, $minuta, $sekunda, $miesiac, $dzien, $rok);
  12. $dodanie = /*data dodania newsa (najlepiej trzymaj datę w bazie w sekundach*/;
  13. $wynik = $przyszla - $dodanie;
  14. echo $wynik


Jeżeli nie masz daty dodawanej przy dodawaniu newsa to ją dodaj.

Ten post edytował Kamil9132 30.11.2010, 17:13:53
Go to the top of the page
+Quote Post
Webmasterr
post
Post #3





Grupa: Zarejestrowani
Postów: 71
Pomógł: 5
Dołączył: 7.08.2010

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


Proponuję:

  1. $data_dodania = /* Wyciągnięte z MySQL */;
  2. $teraz = strtotime('now');
  3.  
  4. $roznica = $teraz - $data_dodania;
  5. $roznica = date('d', $roznica);
  6.  
  7. echo $roznica;


A dodawanie daty do MySQL poprzez:

  1. strtotime('now')


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

Darmowe e-booki (kliknij tutaj)
------------------------------------------------------------
Zapunktuj (kliknij tutaj) <--- Zarejestruj się i zobacz!
Darmowe doładowania telefonu, Eurogąbki itp.
------------------------------------------------------------
PHP 5, CSS 2.1, xHTML 1.1, JavaScript 1.7
Go to the top of the page
+Quote Post
#luq
post
Post #4





Grupa: Zarejestrowani
Postów: 589
Pomógł: 91
Dołączył: 22.05.2008
Skąd: Gliwice

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


@up: a dlaczego nie robić tego na bazie danych tylko dopiero na PHP?

Otwieramy maulual MySQL`a szukamy funkcji daty i czasu...


--------------------
Moja gra - scraby.io
Go to the top of the page
+Quote Post
aart3k
post
Post #5





Grupa: Zarejestrowani
Postów: 72
Pomógł: 10
Dołączył: 2.02.2008
Skąd: Kraków

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


Dokładniej to:
http://dev.mysql.com/doc/refman/5.1/en/dat...nction_datediff

Czyli
  1. SELECT DATEDIFF(NOW(), posty.dodano), * AS roznica_dni FROM...


Ten post edytował aart3k 30.11.2010, 20:51:13
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 - 10:27