Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql] Jak zablokowac wyswietlanie danych po 30 dniach?, Jeśli minie 30 dni ....
microh
post
Post #1





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 5.11.2006

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


Witam ponownie wszystkich użytkowników (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif)

Mam w tabeli rekord typu (datetime) każdy wie, co ona przechowuje (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) .
Chodzi mi oto, ze jeżeli minie 30 dni od daty dodania tegoż rekordy, to przestanie się on wyswietlac na stronie... WYGLADA TO .. TAK:

  1. <?php
  2.  
  3. or die("BŁĄD: nie można się połączyć z serverem MySQL ;/");
  4.  
  5. mysql_select_db("SHIT")
  6. or die("Blad bazy MYSQL");
  7.  
  8. $query = "SELECT * FROM linki";
  9. $result = mysql_query($query)
  10. or die("Blad tabeli!");
  11.  
  12.  
  13.  
  14.  
  15. if ($row["data"] < 30) // wiem, ze źle, ale nie mam pomysłu jak zrobnić poprawnie ;/
  16. {
  17.  
  18.  
  19.  
  20.  
  21. while ($row = mysql_fetch_array($result)) {
  22.  $link = $row["link"];
  23.  $opis = $row["opis"];
  24.  echo '<li><a href="'.$row['link'].'" class="ostatnie" target="_blank">'.$row['opis'].'</a></li>';
  25.  
  26. }
  27. mysql_free_result($result);
  28. }
  29.  
  30. ?>


Pomożecie i tym razem??
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
arczi
post
Post #2





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 17.10.2006
Skąd: Rzeszów

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


najlepiej napisz funkcje, ktora uruchamiasz przy pobieraniu wpisu z bazy, jesli wpis jest starszy niz 30dni to go usuwaj, albo przenos do tabeli archiwum, albo co sobie wymyslisz, to juz zalezy od Ciebie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
microh
post
Post #3





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 5.11.2006

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


Też nad tym myślałem, ale właśnie nie umiem zrobić żeby sprawdzał czy jest starszy niż 30 DNI ;/
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




pierwszy przyklad w manualu:
http://dev.mysql.com/doc/refman/4.1/en/dat...-functions.html

to sie robi po stronie bazy. przenosze
Go to the top of the page
+Quote Post
microh
post
Post #5





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 5.11.2006

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


Dzięki bardzo, z ego manuala nie czaiłem ;/ ale sobie poradziłem:

  1. <?php
  2. $query = "SELECT * FROM linki WHERE mail > NOW() - INTERVAL 720 HOUR ";
  3. $result = mysql_query($query)
  4. ?>
(IMG:http://forum.php.pl/style_emoticons/default/aarambo.gif)

Dzieki bardzo:)
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




ale co tu czaic? Napisalem ci przeciez, ze pierwszy przyklad:
  1. SELECT something FROM tbl_name WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col

Ten przyklad wybiera rekordu z ostatnich 30 dni, czyli dokladnie to oco ci chodzilo.
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: 14.09.2025 - 13:04