![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 2 Dołączył: 7.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam skrypt w którym można dodawać daty. Ale niektóre daty są niekompletne, to znaczy nieznany jest np. miesiąc (2005-03-00) Do bazy zapisuje to wszystko ładnie, istnieje prawidłowy wpis. Problem pojawia się przy wyciąganiu daty z bazy:
$r['date_format'] jest to format daty, indywidualnie ustawiany. Problem w tym, że kiedy trafi się na taką datę jak w przykładzie, to zwrócone zostaje:
mimo, że powinno być zwrócone
Ma ktoś jakiś pomysł jak to obejść? Pozdrawiam |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Cytat nieznany jest np. miesiąc - to co to za data? Sprawdzaj, czy data jest poprawna (jest specjalna funkcja do tego), jeśli nie jest to w ogóle jej nie obrabiaj. I nie powinieneś dopuszczać do sytuacji, kiedy w bazie data jest niepoprawna - najlepiej zrób zapytanie, które wszystkie niepoprawne daty z bazy wywali i sprawdzaj, czy data jest poprawna, zanim trafi do bazy.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 2 Dołączył: 7.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Taki skrypcik do wstawiania tras koncertowych. To akurat nie jest istotne. Ale takie daty się zdarzają, i problem w tym, jak to obrobić.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 732 Pomógł: 80 Dołączył: 25.05.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Taki skrypcik do wstawiania tras koncertowych. To akurat nie jest istotne. Ale takie daty się zdarzają, i problem w tym, jak to obrobić. Chcesz powiedzieć że takie daty się zdarzają jak ta: 1975.09.00 ? Powiedz mi gdzie się zdarzają, bo w życiu takiej daty nie widziałem. PHP nie zna takich dat. Ten post edytował sniezny_wilk 30.05.2008, 12:56:18 -------------------- DevBlog - http://www.bartekrogus.pl
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 2 Dołączył: 7.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Chcesz powiedzieć że takie daty się zdarzają jak ta: 1975.09.00 ? Powiedz mi gdzie się zdarzają, bo w życiu takiej daty nie widziałem. Robisz spam Kolego łapiąc w dodatku za słówka. Zdarza się, że ktoś nie zna pełnej daty. Proste. Zna tylko miesiąc, rok, a na przykład nie zna dnia. |
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Chcesz powiedzieć że takie daty się zdarzają jak ta: 1975.09.00 ? Powiedz mi gdzie się zdarzają, bo w życiu takiej daty nie widziałem. PHP nie zna takich dat. ~sniezny_wilk no faktycznie nic nie wnosisz. Pomyśl trochę zanim napiszesz.Wpadłeś na to, że może i PHP nie zna takiej daty ale to jednak ludzie ją wpisują. Słyszałeś chyba o sprawdzaniu poprawności danych pochodzących od użytkownika, co? Jeśli tak co czego sie czepiasz? ![]() |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 732 Pomógł: 80 Dołączył: 25.05.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
@mike, @author, nie robię spamu, tylko chciałem zwrócić uwagę, że to nie jest poprawa data. To tak jakbym powiedział do kogoś "wpadnij do mnie 2008.06.00". Mike ma rację z tą filtracją danych, można to zastosować, ale lucca przedstawił to tak, jakby specjalnie pozwalał użytkownikowi wpisać 00.
-------------------- DevBlog - http://www.bartekrogus.pl
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 2 Dołączył: 7.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
@sniezny_wilk, ja doskonale wiem, że taka data nie jest poprawna. Naprawdę
![]() Tylko mam właśnie problem z tym, co zrobić kiedy data jest niepełna, a takie, zdarzają się baardzo często. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 732 Pomógł: 80 Dołączył: 25.05.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
@sniezny_wilk, ja doskonale wiem, że taka data nie jest poprawna. Naprawdę ![]() Tylko mam właśnie problem z tym, co zrobić kiedy data jest niepełna, a takie, zdarzają się baardzo często. Mike już napisał. Filtrować dane i sprawdzać, czy użytkownik wpisał niepoprawną datę, jeśli jest zła wyrzucić komunikat z prośbą o poprawienie. Pierwszy lepszy sposób: checkdate" title="Zobacz w manualu PHP" target="_manual Ten post edytował sniezny_wilk 30.05.2008, 13:14:29 -------------------- DevBlog - http://www.bartekrogus.pl
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 2 Dołączył: 7.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mike już napisał. Filtrować dane i sprawdzać, czy użytkownik wpisał niepoprawną datę, jeśli jest zła wyrzucić komunikat z prośbą o poprawienie. Pierwszy lepszy sposób: [manual\]checkdate\[/manual\] No to wiem, ale co zrobić w momencie kiedy tej daty po prostu dokładnej nie zna? |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 732 Pomógł: 80 Dołączył: 25.05.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
1. Poprosić aby user wpisał orientacyjną datę i jeśli jest możliwość to zrobić opcję zmiany daty w późniejszym czasie na dokładniejszą.
2. Zrobić możliwość dodania ram czasowych, czyli coś tam się wydarzy pomiędzy jakimiś datami. 3. Zrobić osobne selecty z wyborem daty rozbitej, czyli osobno dni, osobno miesiąc i osobno rok, zostawić możliwość pustego wpisu, lub opcji "nie wiem" i zmienić konstrukcję w tabeli Potrzebujesz tą datę do czegoś innego niż wyświetlanie ? Sortujesz po niej ? -------------------- DevBlog - http://www.bartekrogus.pl
|
|
|
![]()
Post
#12
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
No to wiem, ale co zrobić w momencie kiedy tej daty po prostu dokładnej nie zna? Zapisuj w formacie timestamp zaokrąglając do danych, które znasz.
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 2 Dołączył: 7.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki Panowie za rady. Już wiem jak to naprawić
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 20:43 |