Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP]pole edycji daty- rozkładanie daty na DD MM YYYY
Forum PHP.pl > Forum > Przedszkole
owca
Witam
Robię prostego cms'a i dochodząc do zrobienia formularza edytującego newsy pojawił się problem a mianowicie:

Tak wygląda formularz gdzie wpisuje się datę.
Kod
<ul >
            
                    <li id="li_2" >
        <label class="description" for="element_2">Data </label>
        <span>
            <input id="element_2_1" name="element_2_1" class="element text" size="2" maxlength="2" value="" type="text"> /
            <label for="element_2_1">MM</label>
        </span>
        <span>
            <input id="element_2_2" name="element_2_2" class="element text" size="2" maxlength="2" value="" type="text"> /
            <label for="element_2_2">DD</label>
        </span>
        <span>
             <input id="element_2_3" name="element_2_3" class="element text" size="4" maxlength="4" value="" type="text">
            <label for="element_2_3">YYYY</label>
        </span>
    
        <span id="calendar_2">
            <img id="cal_img_2" class="datepicker" src="calendar.gif" alt="Pick a date.">    
        </span>
        <script type="text/javascript">
            Calendar.setup({
            inputField     : "element_2_3",
            baseField    : "element_2",
            displayArea  : "calendar_2",
            button         : "cal_img_2",
            ifFormat     : "%B %e, %Y",
            onSelect     : selectDate
            });
        </script>
        
        </li>

tak zapisuje się u mnie do bazy datę:
Kod
$rok = isset($_POST['element_2_3']) && !empty($_POST['element_2_3']) ? $_POST['element_2_3'] : '0000';
$dzien = isset($_POST['element_2_2']) && !empty($_POST['element_2_2']) ? $_POST['element_2_2'] : '00';
$miesiac = isset($_POST['element_2_1']) && !empty($_POST['element_2_1']) ? $_POST['element_2_1'] : '00';
    $data = $rok . '-' . $miesiac . '-' . $dzien;

Data w bazie danych to jeden element np. 2012-02-09 . jak rozbić pobraną z bazy datę żeby wyciągnąć z niej dzień, miesiąc, rok i móc do formularza edycji zaimportować w postaci osobno DD , MM , YYYY
Ma ktoś z was jakiś pomysł? jest jakaś funkcja wyciągająca takie dane z daty?
pedro84
date
viking
http://dev.mysql.com/doc/refman/5.1/en/dat...-functions.html

DAY(), MONTH(), YEAR()
Gość
jeżeli można to bardzo prosiłabym o pokazanie jak tej funkcji poprawnie użyć bo kombinuję z czymś takim i lipa..:

Kod
$DD=mysql_query("EXTRACT (DAY FROM timestamp ) = ".$r['data']."");
viking
Pierwszy z brzegu link: http://www.simplemachines.org/community/in...p?topic=22517.0
Gość
Ładnie działa, tyle że pojawia się:
Deprecated: Function split() is deprecated in C:\xampp\htdocs\user\admin\edytuj_newsa.php on line 34

Kod
$date=$r['data'];
list($year,$month,$day) = split('[/.-]', $date);


Szukałam czegoś o tym w google i ponoć to oznacza że funkcja jest przestarzała. To znaczy że nie warto używać tej ? Czy zastąpić? Skoro działa to mimo wszystko ją wywalić czy olać ten komunikat?
Gość
Dobra, wstawiam rozwiązanie problemu, może komuś się przyda
Gość
Kod
$data  = $r['data'];
$pieces = explode("-", $data);
$YYYY=$pieces[0];
$MM=$pieces[1];
$DD=$pieces[2];


explode dzieli na części datę, później czytam ją kawałkami [0] [1] [2] każdy kawałek kończy czytać tam gdzie jest znak "-"
dziękuję za pomoc i naprowadzenie na rozwiązanie
pedro84
Cytat(Gość @ 17.02.2012, 20:23:40 ) *
Kod
$data  = $r['data'];
$pieces = explode("-", $data);
$YYYY=$pieces[0];
$MM=$pieces[1];
$DD=$pieces[2];


explode dzieli na części datę, później czytam ją kawałkami [0] [1] [2] każdy kawałek kończy czytać tam gdzie jest znak "-"
dziękuję za pomoc i naprowadzenie na rozwiązanie

Mam nadzieję, że wiesz, że to rozwiązanie należy do kategorii głupich.
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.