Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Różnica między datami z bazy danych, jak odjąć dwie daty od siebie?
gladiror
post
Post #1





Grupa: Zarejestrowani
Postów: 398
Pomógł: 0
Dołączył: 13.07.2005
Skąd: Lublin

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


Witam!
Mam problem dotyczący pobierania daty z bazy danych i porównywania jej z bieżącą datą w taki sposób, że jeżeli różnica (w dniach) pomiędzy datami jest większa od 7 wtedy rekord zostaje usunięty w przeciwnym razie zostaje nietknięty.

  1. <?php
  2.  
  3.  
  4. dbh=mysql_connect ("localhost", "user", "haslo") or die ('Nie mogę poł&plusmn;czyć się z baz&plusmn; danych: ' . mysql_error());
  5. mysql_select_db ("user"); 
  6.  
  7. $dzisiaj = date("Y-m-d");
  8.  
  9.  
  10. $zapytanie = "SELECT * FROM `klienci` WHERE wlaczone = '' or wlaczone = 'NIE'";
  11. $wykonaj = mysql_query($zapytanie);
  12.  
  13. while($wiersz=mysql_fetch_array($wykonaj))
  14. {
  15. $data_z_bazy = "".$wiersz['rejestracja']."";
  16. $dzisiaj = $dzisiaj - $data_z_bazy;
  17. print($dzisiaj);
  18. }
  19.  
  20.  
  21. ?>


Próbowałem w taki sposób, ale niestety zawsze pokazuje 0...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





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




A od kiedy string 'blalal' - 'slkdlskd' da ci cos innego od 0? Stringów się nie odejmuje. Musisz użyć strtotime
  1. <?php
  2.  
  3. //...
  4. while($wiersz=mysql_fetch_array($wykonaj))
  5. {
  6. $data_z_bazy = $wiersz['rejestracja'];
  7. $dzisiaj = strtotime($dzisiaj) - strtotime($data_z_bazy);
  8. print($dzisiaj);
  9. }
  10.  
  11. ?>

pozatym takie rzeczy lepiej robić na poziomie zapytania.
Go to the top of the page
+Quote Post

Posty w temacie


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: 11.10.2025 - 04:48