Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: data sql ->php
Forum PHP.pl > Forum > Bazy danych > Microsoft SQL Server / MSDE
spi79
SQL Serwer zwraca pola daty w postaci YYYY-MM-DD ... , np. 2005-06-17 ... ( tam gdzie kropki jest cos jeszcze,ale to mniej wazne) . Kiedy pobieram ta date php zwraca mi ja jako np. 7 cze 2005 , czy ktos wie, w jaki sposob skonwertowac ta date do formatu : YYYY-MM-DD , np. tak zeby data : 7 cze 2005 byla zamieniana na 2005-06-07
SongoQ
Skorzystaj z CONVERT
spi79
hmm... nie ma takiej funkcji , chyba sam napisze do swoich potrzeb smile.gif.
SongoQ
Takia funkcyjke znalazlem w helpie. smile.gif
No1B
za formatowanie daty w mssql odpowiada Cast and Convert

natomiast zalecam winksmiley.jpg takze zajrzenie do php.ini i wyszukanie odpowieniego wpisu:
; Specify how datetime and datetim4 columns are returned
; On => Returns data converted to SQL server settings
; Off => Returns values as YYYY-MM-DD hh:mm:ss
mssql.datetimeconvert = Off
GeedieZ
Cytat(No1B @ 2005-06-15 16:47:37)
natomiast zalecam winksmiley.jpg takze zajrzenie do php.ini i wyszukanie odpowieniego wpisu:
; Specify how datetime and datetim4 columns are returned
; On => Returns data converted to SQL server settings
; Off => Returns values as YYYY-MM-DD hh:mm:ss
mssql.datetimeconvert = Off

Hmm mam to włączone ale i tak nie konwertuje mi daty...

Kod na początku rysuje mi tabelkę z listą wszystkich zawodników, obok każdego nazwiska są 2 opcje: kasuj i popraw. Gdy klikam "popraw" u góry pojawia się tabelka z danymi wybranego zawodnika. Wszystko mogę poprawić (mam taką nadzieję hyh), jedynie owej daty urodzenia nie mogę rozgryźć... Oto fragment odpowiadający za poprawienie zawodnika w bazie:

  1. <?php
  2.  
  3. ...
  4. elseif ($_POST['co'] == 'popraw') { // poprawianie rekordu
  5.  
  6. $query = &#092;"INSERT INTO ZAWODNICY (imie, nazwisko, plec, data_ur, wzrost, waga)\";
  7. $query .= &#092;"VALUES ('\".$_POST['imie'].\"', '\".$_POST['nazwisko'].\"', '\".$_POST['plec'].\"', '\".$_POST['data_ur'].\"', '\".$_POST['wzrost'].\"', '\".$_POST['waga'].\"');\";
  8.  
  9. ...
  10.  
  11. ?>


To pole - data_ur jest właśnie zrobione w bazie danych jako datetime i nie umiem go skonwertować tak, by przy wpisywaniu na stronie php mój serwer go zrozumiał.

Typ pola data_ur to w mojej bazie właśnie datetime. Jedyną dopuszczalną formą jaką przyjmuje mój skrypt php i pozwala dodać do bazy jest taki:

16 cze 1966 0:00

Przy jakiejkolwiek innej próbie wywala mi błąd:
Kod
Warning: mssql_query(): message: Syntax error converting datetime from character string. (severity 16) in ...


ps. Nie wiem czy zorientujecie się jak mi pomóc po takim małym wycinku kody. Jeśli mam zamieścić więcej to napiszcie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.