Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> 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...


--------------------
"Państwo to ja" Ludwik XIV
"Wróg zaatakuje to co kochasz" Ojciec Chrzestny
"Wszystko powinno być proste jak to tylko możliwe, ale nie prostsze..." A. Einstein
"Wyobraźnia jest ważniejsza niż wiedza" Albert Einstein
"Nieprawda powtarzana wielokrotnie staje się prawdą"
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
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.


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
gladiror
post
Post #3





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

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


Wielkie Thx za pomoc winksmiley.jpg

Troszeczke dopisałem i elegancko pokazuje liczbę dni:

  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))/86400;
  8. print($dzisiaj);
  9. }
  10.  
  11. ?>


Może komuś przyda się kiedyś winksmiley.jpg

Mam jeszcze pytanie jak to zrobic na poziomie jedneog zapytania? Tak żeby od razu usuwał dany rekord...questionmark.gif? Chodzi mi o to, jak mam zapytać, że dane z rekordu mają być wieksze od zera zeby usuwałquestionmark.gifquestionmark.gif

Ten post edytował gladiror 17.08.2005, 12:44:32


--------------------
"Państwo to ja" Ludwik XIV
"Wróg zaatakuje to co kochasz" Ojciec Chrzestny
"Wszystko powinno być proste jak to tylko możliwe, ale nie prostsze..." A. Einstein
"Wyobraźnia jest ważniejsza niż wiedza" Albert Einstein
"Nieprawda powtarzana wielokrotnie staje się prawdą"
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: 19.08.2025 - 15:21