Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Problem z datą
BuncolPL
post
Post #1





Grupa: Zarejestrowani
Postów: 75
Pomógł: 0
Dołączył: 19.12.2008
Skąd: Poland

Ostrzeżenie: (0%)
-----


Mógłby ktoś podpowiedzieć jak rozwiązać takie problemy z datami:
W tabeli mam kolumnę data, do której przypisane jest date

Pierwszy problem pojawia się gdy dopisuję datę do bazy. Jak dodaje dzisiaj to powinno się dodać 2009-01-16 a wpisywane jest 2016-01-20 :/

Chciałbym się jeszcze dowiedzieć w jaki sposób przy wyświetlaniu rekordów z bazy zrobić, żeby data nie pojawiała się jako 2009-01-16 tylko 16.01.2009

Z góry dzięki

Pozdrawiam
Marcin
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Wersja z komentarzami:
  1. <?php
  2.  
  3. /*
  4.     Tutaj będą wyniki naszej pracy. Jest to tablica wielowymiarowa (2 poziomy),
  5.     gdzie najpierw mamy tablice z dniami, a każdy dzień ma swoją tablicę z
  6.     konkretnymi rekordami:
  7.     
  8.     Array(
  9.         2008-09-01 => Array(
  10.             rekord1,
  11.             rekord2,
  12.             rekord3
  13.         ),
  14.         
  15.         2009-01-15 => Array(
  16.             rekord1,
  17.             rekord2,
  18.             rekord3
  19.         ),
  20.         
  21.         2009-01-19 => Array(
  22.             rekord1
  23.         )
  24.     )
  25. */
  26. $results = array();
  27.  
  28. //Pętla z zapytania SQL
  29. foreach($stmt as $row){
  30.    //Sprawdzamy, czy istnieje już w $result indeks z naszym dniem. Jeśli nie
  31.    //tworzymy go (robiąc z niego pustą tablicę). Można by to teoretycznie pominąć
  32.    //ale będziemy wtedy mieli dziesiątki błędów typu E_NOTICE undefined index
  33.    if(!isset($results[$row['date']])){
  34.        $results[$row['date']] = array();
  35.  }
  36.  
  37.    //to tablicy $results, do indeksu z danym dniem (np. 2009-01-19) dopisujemy
  38.    //akltualnie przetwarzany rekord
  39.    $results[$row['date']][] = $row;
  40. }
  41.  
  42. //teraz już tylko wyświetlanie.
  43. echo '<dl>';
  44.  
  45. //Pętla, iterująca po każdym dniu ($date = 2009-01-19, $r to tablica z
  46. //konkretnymi rekordami
  47. foreach($results as $date => $r){
  48.    //wyswietlenie dnia
  49.    echo sprintf('<dt>%s</dt>', $date);
  50.  
  51.    //wyswietlenie w pętli rekordow dla danego dnia. $row to dokladnie to samo
  52.    //co $row w pierwszej pętli (z tym, że jest to kopia, nie referencja)
  53.    foreach($r as $row){
  54.        echo sprintf('<dd>%s - %s</dd>', $row['id'], $row['cosTam']);
  55.    }
  56. }
  57.  
  58. echo '</dl>';
  59. ?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 14:21