![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 28.01.2004 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
pole DATE zapisuje date w formacie yyyy-mm-dd. jak zmienic na dd-mm-yyyy??
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 31.03.2002 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
http://www.mysql.com/doc/en/Date_and_time_...ns.html#IDX1325
czyli [sql:1:68f12be427]SELECT DATE_FORMAT(kolumna_daty, '%d-%m-%Y') AS moja_data FROM moja_tabela[/sql:1:68f12be427] |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 28.01.2004 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
[sql:1:5794468d1f]
$zapytanie = "SELECT data FROM tabela WHERE data BETWEEN '%$data_od%' AND '%$data_do%'"; [/sql:1:5794468d1f] to dziala tylko wtedy kiedy podam zarowno data_od jak i data_do. chcialbym zeby dzialalo rowniez wtedy kiedy w formularzu na stronie pola te pozostawie puste badz wypelnie tylko jedno z nich czyli jezeli: -oba puste to rezultat: pokazuje wszystkie rekordy, -podam tylko data_od to rezultat: pokazuje wszystkie rek. od podanej dat itd. prosze o pomoc. druga sprawa to ze w formularzu na stronie musze date podac jako: yyyy-mm-dd bo tak jest zapisywana w bazie a chcialbym zeby bylo po Polsku czyli dd-mm-rrrr albo nawet zebym mogl date podac jako: dd.mm.rrrr, dd-mm-rrrr, dd/mm/rrrr? jak to zrobic?? prosze o pomoc. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
Musisz sobie pomóc php, przy tworzeniu tego zapytania.
1. jeśli podano datę od, dodaj do zapytania and data >' xx ' 2. jeśli podano datę do, dodaj do zapytania and data <' yyy ' Jeśli chcesz podawać daty w innym formacie - tu również php może ci pomóc. Najpierw przy pomocy funkcji do zamiany znaków na inne, np. [manual:57cb4f1b6b]strtr [/manual:57cb4f1b6b] zamień w otrzymanych od użytkownika datach wszystkie spacje, / , , kropki itp. na - Następnie, przy pomocy [manual:57cb4f1b6b]explode[/manual:57cb4f1b6b] rozbijasz otrzymany string, a z otrzymanej tablicy tworzysz string z datą sformatowaną w ten sposób, aby MySQL to rozumiał (warto napisać sobie funkcję, która będzie to robić) Otrzymane daty ładujesz do zapytania. -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
http://www.mysql.com/doc/en/Date_and_time_..._functions.html
Cytat STR_TO_DATE(str,format)
This is the reverse function of the DATE_FORMAT() function. It takes a string str, and a format string format, and returns a DATETIME value. The date, time, or datetime values contained in str should be given in the format indicated by format. For the specifiers that can be used in format, see the table in the DATE_FORMAT() function description. All other characters are just taken verbatim, thus not being interpreted. If str contains an illegal date, time, or datetime value, STR_TO_DATE() returns NULL. mysql> SELECT STR_TO_DATE('03.10.2003 09.20', '%d.%m.%Y %H.%i') -> 2003-10-03 09:20:00 mysql> SELECT STR_TO_DATE('10rap', '%crap') -> 0000-10-00 00:00:00 mysql> SELECT STR_TO_DATE('2003-15-10 00:00:00', '%Y-%m-%d %H:%i:%s') -> NULL dd.mm.rrrr, [sql:1:3541d7af31]SELECT STR_TO_DATE('03.10.2003', '%d.%m.%Y')[/sql:1:3541d7af31] dd-mm-rrrr, [sql:1:3541d7af31]SELECT STR_TO_DATE('03-10-2003', '%d-%m-%Y')[/sql:1:3541d7af31] dd/mm/rrrr? [sql:1:3541d7af31]SELECT STR_TO_DATE('03/10/2003', '%d/%m/%Y')[/sql:1:3541d7af31] -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 28.01.2004 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Sluchajcie dzieki za podpowiedzi ale jeszcze raz postawie problem bo nie moge sobie poradzic.
Otoz w html mam tak: <form method="GET" action="szukaj.php"> <input name="data_od" type="text"> <input name="data_do" type="text"> <input type="submit" name="ok"> </form> dalej mam: [php:1:c25243b4a8]<?php $zapytanie = "SELECT data FROM tabela WHERE data BETWEEN '%$data_od%' AND '%$data_do%'"; ?>[/php:1:c25243b4a8] dopisalem: AND data>' xx ' i AND data<"yyy" ale nie dziala i nie bardzo to rozumiem. czy moglibyscie napisac w calosci (kod) jak to zrobic. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 12:13 |