Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Limit czasu
rotpl
post 25.09.2005, 13:16:03
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 25.09.2005

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


Problem: wyświetlanie newsów z ostatnich 7/30/60 dni etc.

Kod printowania newsów (żeby było wyraźniej - newsy nowsze niż minuta):

  1. <?
  2. $d = date("d");
  3. $m = date("m");
  4. $r = date("Y");
  5. $date = mktime(0,0,0, $d, $m, $r);
  6. $limit = $date - 60;
  7. $wynik = mysql_query("SELECT * FROM news WHERE (date >= $date) ORDER BY id DESC", $lacz);
  8.  
  9. while($r = mysql_fetch_array($wynik)) { 
  10.  
  11. echo($r['autor']." @ ".$r['date']."<br>".$r['txt']);
  12.  
  13. }
  14. ?>


No i niby wszystko fajnie. Tylko gdy dodaję newsa, to kiedykolwiek go dodam, mktime obliczone z czasu teraźniejszego jest równe 1127620800.

Kod dodawania newsa:

  1. <?
  2. $d = date("d");
  3. $m = date("m");
  4. $r = date("Y");
  5. $autor = mysql_real_escape_string($_POST['autor']);
  6. $date = mysql_real_escape_string(mktime(0,0,0, $d, $m, $r));
  7. $txt = mysql_real_escape_string($_POST['txt']);
  8.  
  9. $wynik = mysql_query("INSERT INTO news VALUES (0, '$autor', '$date', '$txt')", $lacz);
  10.  
  11. ?>


Czy złe działanie date() może zależeć od serwera? (mam konto na www.dhost.info) Czy po prostu coś źle w kodzie? Albo czy można to jakoś inaczej załatwić?

Z góry dzięki.


--------------------
Plastic Jesus.
Aktualnie słucham:
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
sf
post 25.09.2005, 13:20:49
Post #2





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


masz blad w mktime .. zle miesiac umiejscowiony.. pierwszy blad jaki rzucil mi sie w oczy


--------------------
Zapraszam na mój php blog, tworzenie stron.
Go to the top of the page
+Quote Post
treewood
post 26.09.2005, 16:51:34
Post #3





Grupa: Zarejestrowani
Postów: 215
Pomógł: 0
Dołączył: 18.01.2003

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


rotpl - a nie lepiej zamienic mktime( ) na time( ) ? nie wrzucasz niczego a masz od razu timestamp'a


--------------------
Działam w OpenSolution.org, autor Quick.Cms i Quick.Cart już od ponad 10 lat
Go to the top of the page
+Quote Post
rotpl
post 26.09.2005, 18:43:24
Post #4





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 25.09.2005

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


Thankz, zapomniałem o time(). I zrozumiałem błąd. W mktime() podałem 0 sekund, każde mktime() z tego dnia podawało tą samą wartość, więc nie mogło podać o 60 sekund nowszej. ;-) thx i close topic ;-)


--------------------
Plastic Jesus.
Aktualnie słucham:
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 Wersja Lo-Fi Aktualny czas: 16.07.2025 - 03:14