![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 23.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam, zastanawiam się jak zrobić skrypt dzięki któremu mógłbym usuwać wpisy z bazy danych starsze niż jeden miesiąc.
Mam tabelę mysql przykładowo z newsami w której jednym z wpisów jest data. Myślałem żeby wyciągnąć datę dodania newsa, następnie odjąć ją od daty aktualnej i dać warunek aby usunąć wszystkie wpisy spełniające ten warunek. przykład:
Niestety ten sposób wyświetla mi wynik w stylu: 0000-0.039999999999999. Poza tym wydaje mi się że:
Nie jest właściwe (jestem tego prawie pewien). Zastanawiam się też czy konieczne jest użycie pętli. Proszę o wszelkie wskazówki jak można to osiągnąć, z góry dzięki. pozdrawiam toomay Ten post edytował toomay 16.05.2007, 16:10:27 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 92 Pomógł: 4 Dołączył: 12.09.2006 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
po pierwsze proponuje korzystać z time()" title="Zobacz w manualu PHP" target="_manual a nie z date()" title="Zobacz w manualu PHP" target="_manual
Dlaczego ? time() wyrzuca ci ilość sekund upłyniętych od 1970-01-01 00:00:00 a więc całkiem wygodne operować na sekundach a w razie potrzeby można banalnie to do daty wyeksportować: date('format',tutaj ilość sekund); |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 23.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za odpowiedź. Ale ja sekund w tym przypadku nie potrzebuje
![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 92 Pomógł: 4 Dołączył: 12.09.2006 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
wierz mi że łatwiej jest na sekundach popatrz: ( zapytanie do bazy usuwające rekordy starsze niż 30dni )
i usuwa ![]() a przy dacie to jest straszne kombinowanie dlaczego ? bo powiedz mi masz załóżmy 1 stycznia 2007 i jak chcesz wygenerować date o 30 dni wcześniej ? no cięzko by było... ale jest rozwionazanie wcześniej była zmienna $time ( w powyszym skrypcie ) teraz mozesz uzyc
i gotowe Ten post edytował MiFlo 16.05.2007, 16:38:36 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 23.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Trochę się pogubiłem, czyli muszę stworzyć w tabeli mysql dodatkowy wiersz z sekundami tak ? Wytłumacz to dokładniej bo dzisiaj jestem wyjątkowo niepodatny na wiedzę
![]() Aktualnie moja tabela w mysql wygląda tak:
I o ile dobrze myślę, to wg. Twojego pomysłu muszę wstawić pod 'date' dodatkowo 'time' ? ps. Jaki jest format time bo chyba nie po prostu time() ? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
datę powinieneś mieć jako pole typu datetime inaczej musisz wyciągać wszystkie wpisy z bazy i sprawdzać po koleji.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 23.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
A jakieś konkrety ? jak powinny wyglądać dane umieszczane w datetime ? chodzi mi o format
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 9.07.2025 - 03:35 |