Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Limit czasu
Forum PHP.pl > Forum > Przedszkole
rotpl
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.
sf
masz blad w mktime .. zle miesiac umiejscowiony.. pierwszy blad jaki rzucil mi sie w oczy
treewood
rotpl - a nie lepiej zamienic mktime( ) na time( ) ? nie wrzucasz niczego a masz od razu timestamp'a
rotpl
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 ;-)
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.