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...
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.
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 (IMG:http://forum.php.pl/style_emoticons/default/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ś (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Mam jeszcze pytanie jak to zrobic na poziomie jedneog zapytania? Tak żeby od razu usuwał dany rekord...(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? Chodzi mi o to, jak mam zapytać, że dane z rekordu mają być wieksze od zera zeby usuwał(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Ten post edytował gladiror 17.08.2005, 12:44:32
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: 23.08.2025 - 12:01