![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 3.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Mam tabelę z książkami i chciałbym wyświetlać pozycje ostatnio dodane, no i wymyśliłem sobie że zadam następujące zapytanie
[sql:1:d871e91f74]SELECT nazwa_ksiazki FROM books WHERE data_dodania >= data [/sql:1:d871e91f74] No i chciałem zrobić tak aby "data" to była aktualna data minus siedem dni, czyli tydzień, tak więc zapytanie wywalało by wszystkie książki dodane w ciągu ostatniego tygodnia (mające datę_dodania świeższą od data). Nie wiem tylko jak od aktualnej daty odjąć ileś tam dni. edit: - no i oczywiście po zrealizowaniu takiego odejmowania powinna być zachowana prawidłowa data czyli jeśli od 1.1.1999 zostanie odjęte 7 dni to wynikiem powinna być data 24.12.1998... czy ktos wie jak to zrealizować? pewnie jakaś prosta funkcja do tego służy, jednak nie mogę nic znaleźć, w manualu MySQL znalazłem tylko coś takiego jak MONTH() albo DAYOFMONTH() ale chyba nie za bardzo nadaje się to do tego o czym piszę... |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 8.12.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Mozesz zrobic na zasadzie tygodnie.Pewnie nie o to Ci chodzi ale zawsze jakis pomysl,tzn:
pobierasz ktory mamy tydzien w roku i sprawdzasz z tym co masz w bazie np: [php:1:cf375dffa3]<?php $date = date(W); //pobiera nr tygodnia danego roku $data = $date - 1; $sql = mysql_query("SELECT nazwa_ksiazki FROM ksiazki WHERE data= $date AND data = $data") ?>[/php:1:cf375dffa3] Pewnie nie jest to najlepszy sposob no ale jedyny jaki mi przyszedl do glowy.Minus tego jest taki, ze wyswietli z tego tyg i z poprzedniego czyli min z 7 dni max z 14. Pozdrawiam -------------------- Windsurfing -> way of my life !!!
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 445 Pomógł: 0 Dołączył: 21.12.2003 Skąd: Tomaszów Lubelski Ostrzeżenie: (10%) ![]() ![]() |
Sprawd to:
[php:1:2aac0cf8c8]<?php $data=date("d.m.Y",strtotime("-7 days",time())); $sql = mysql_query("SELECT nazwa_ksiazki FROM ksiazki WHERE 'data' >= '" . $data . "'") ; ?>[/php:1:2aac0cf8c8] Format daty w funkcji date() dostosuj do rodzaju zapisu formatu daty w bazie. Kodu nie testowałem, więc może być jaki byk. -------------------- Don't worry, be happy!
Gadu-Gadu: 1687784 Darmowe komponenty na stronę WWW - licznik księga gości shoutbox chat kalendarz data godzina imieniny IP host przeglądarka odwiedzającego ankieta sonda |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
[php:1:0c05bafca8]<?php
time() - 604800 ?>[/php:1:0c05bafca8] to bedzie czas: teraz - 7 dni 604800 sekund = 7 * 24 * 60 * 60 sekund |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 445 Pomógł: 0 Dołączył: 21.12.2003 Skąd: Tomaszów Lubelski Ostrzeżenie: (10%) ![]() ![]() |
Cytat [php:1:26ee6644c0]<?php
time() - 604800 ?>[/php:1:26ee6644c0] to bedzie czas: teraz - 7 dni 604800 sekund = 7 * 24 * 60 * 60 sekund :arrow: http://forum.php.pl/viewtopic.php?t=14404 -------------------- Don't worry, be happy!
Gadu-Gadu: 1687784 Darmowe komponenty na stronę WWW - licznik księga gości shoutbox chat kalendarz data godzina imieniny IP host przeglądarka odwiedzającego ankieta sonda |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Lepiej bedzie zrzucic to zadanie na baze:
[sql:1:2b3a176b56] SELECT nazwa_ksiazki FROM books WHERE data >= DATE_SUB(CURDATE(),INTERVAL 7 DAY); [/sql:1:2b3a176b56] -------------------- Brak czasu :/
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 18.11.2009 Skąd: Legnica Ostrzeżenie: (20%) ![]() ![]() |
Odświeżam wątek.
Jak odjąć od daty (tylko nie dzisiejszej) ilość dni np. 14. Mam w bazie pewne daty np.: 2010-03-14 2010-06-09 2010-02-01 2010-03-18 Chciałbym od każdej odjąć 14 dni i wiedzieć jaka to będzie data. 2010-03-14 - 14 dni = ? 2010-06-09 - 14 dni = ? 2010-02-01 - 14 dni = ? 2010-03-18 - 14 dni = ? |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
@8_pasazer_NOSTROMO w poście wyżej @FiDO ma w WHERE funkcję która Ci pomoże. Tylko zamiast CURRDATE dasz swoje pole w bazie.
Ten post edytował skowron-line 4.01.2010, 14:21:22 -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
2010-03-14 - 14 dni = select date_sub('2010-03-14',interval 14 day)
-------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 3.05.2025 - 04:24 |