Autor Zpráva
Akali
Profil
Ahoj. Potřebuju, aby si uživatel mohl uložit datum (ve formátu 1.6.2014) jako obyčejný text - je to jenom kvůli tomu, aby se ke každýmu jídelníčku napsal datum, pro který jídelák patří - takže s ním nebudeme nikdy dál pracovat (pouze každý týden přepisovat).

Když uložím 1.6.2014 do databáze jako TEXT, tak se to na stránku vypíše opačně (4102.6.1)
Když uložím 1.6.2014 do databáze jako DATUM, tak se to na stránku vypíše opačně (2014-06-01)

Jak na to, když to potřebuju ve formátu 1.6.2014.. Upozorňuju, že uživatel to do databáze uloží pomocí vyplněné daného data přes formulář - kterej si sám vyplní
lionel messi
Profil
Akali:
Ulož si údaj ako DATUM a pri výpise použi date_format.
mimochodec
Profil
Akali:
Když uložím 1.6.2014 do databáze jako TEXT, tak se to na stránku vypíše opačně (4102.6.1)
Když uložím 1.6.2014 do databáze jako DATUM, tak se to na stránku vypíše opačně (2014-06-01)

Nepíšeš, jak se to do databáze uloží. Na konverzi z "česky" napsaného data jsou funkce, já dávám přednost ruční práci. Tzn. ověřím, jestli jsou v tom řetězci dvě tečky, pak převedu na datum, uložím.
Akali
Profil
Od problému k problému. Dělá si to co chce :D
Proč všechno co vypíšu je pozpátku?
odkaz na web (řádky v pondělí) http://sss.velkyberanov-fotbal.cz/jidelni_listek.php
Rajská - opačně
Zapečená - opačně
brokolice - opačně
tady je kód který získávám data z databáze
            <?php 
            /********Vypis****************************************************************************************************/ 
            include 'db.php';
             
            $objekt_vysledku = mysqli_query($db_spojeni, "SET NAMES 'UTF8'");
            
            // Zaslání SQL příkazu do databáze.
            $objekt_vysledku = mysqli_query($db_spojeni, 
              'SELECT * FROM jidelni_listek WHERE id = 1');
            
            while ($radek = mysqli_fetch_array($objekt_vysledku))
            {
              echo '',$radek['datum1'],'-'.$radek['datum2'].'<br>';
              echo '<hr>"';
              echo '<div id="jidelni_listek_dny">PONDĚLÍ</div>';
              echo '',$radek['pondeli1'],'<br>';
              echo '',$radek['pondeli2'],'<br>';
              echo '',$radek['pondeli3'],'<br>';
              echo '<hr>"';
              echo '<div id="jidelni_listek_dny">ÚTERÝ</div>';
              echo '',$radek['utery1'],'<br>';
              echo '',$radek['utery2'],'<br>';
              echo '',$radek['utery3'],'<br>';
              echo '<hr>"';
              echo '<div id="jidelni_listek_dny">STŘEDA</div>';
              echo '',$radek['streda1'],'<br>';
              echo '',$radek['streda2'],'<br>';
              echo '',$radek['streda3'],'<br>';
              echo '<hr>"';
              echo '<div id="jidelni_listek_dny">ČTVRTEK</div>';
              echo '',$radek['ctvrtek1'],'<br>';
              echo '',$radek['ctvrtek2'],'<br>';
              echo '',$radek['ctvrtek3'],'<br>';
              echo '<hr>"';
              echo '<div id="jidelni_listek_dny">PÁTEK</div>';
              echo '',$radek['patek1'],'<br>';
              echo '',$radek['patek2'],'<br>';
              echo '',$radek['patek3'],'<br>';
            }
             
            mysqli_free_result($objekt_vysledku);
            
            if ($db_spojeni)
              mysqli_close($db_spojeni);
          ?>  
mimochodec
Profil
Akali:
Proč všechno co vypíšu je pozpátku?

Ptám se znovu: jak je to v databázi uloženo?

Kromě toho:
echo '',$radek['patek3'],'<br>';
Proč tohle děláš? K čemu tam je ta mezera?

<div id="jidelni_listek_dny">
ID je jednoznačný identifikátor. Na stránce nemá být víc než jednou.
Akali
Profil
v databázi je sloupec uložený jako text..
Ale nevím, zda to má něco společnýho, protože když tam dám echo "ahoj" - vypíše to "joha"
co to?
mimochodec
Profil
Tak to ukládej jako datum.
A oprav si tu chybu v kódu, který tam to datum ukládá. Ten kód jsi neukázal.


Další nefatální nesouvisející chyba:
echo '<hr>"';
Proč jsou tam ty uvozovky?
lionel messi
Profil
Akali:
protože když tam dám echo "ahoj" - vypíše to "joha"
co to?
Daj sem kód, ktorý má na starosti vkladanie do databázy, potom vari budeme vedieť.
Kubo2
Profil
Akali:
Napadá mi jedna možnosť, prečo sa ti na stránke zobrazuje všetko opačne: niekde v CSS nastavuješ pre nejaký veľmi nadradený element text-direction: rtl (right-to-left, teda smer textu sprava doľava).
bestik_63
Profil
Ahoj,
uživatelé jsou vynalézaví a jsou často schopni psát do formulářů nesmysly. Není lepší datum dát do formuláře přes select a tím zabezpečit že nevyplní kravinu a pro tebe bude jednoduší zaslané datum analyzovat.
Jinak já si datum převedu na int a ten pak ukládám do databáze. Pak se mi s tím velmi dobře pracuje pomocí funkce date(). Pro ostatní: Je to kravina nebo je lepší použít DATETIME apod..
Joker
Profil
bestik_63:
V dnešních prohlížečích je asi lepší tam dát rovnou prvek typu date(time), kde se dá vybírat z kalendáříku. Když prohlížeč tohle neumí, pořád to jde dodělat přes JS a když nejde ani to, holt se to zadá jako text.

Uživatel může zadávat kraviny do jakéhokoliv políčka, od toho jsou validace.
Keeehi
Profil
bestik_63:
Je lepší použít DATETIME.
bestil_63
Profil *
DíkyKeeehi:

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: