Autor | Zpráva | ||
---|---|---|---|
Petr789 Profil * |
#1 · Zasláno: 18. 2. 2010, 18:05:34
Zdravím, ukládám do mysql aktuální datum pomocí now(), mám ale problém s vytáhnutým.
Nevím jak to mám zformátovat, aby mi to vracelo tenhle formávat data a času - 18.2.2010 17:38 Našel jsem si tohle: preg_replace('~^([0-9]+)-0?([0-9]+)-0?([0-9]+)~', '\\3.\\2.\\1', $row["vlozeno"]); Což skoro vyhovuje, ale zobrazuje to i se sekundama (tedy 18.2.2010 17:38:43) a já netuším jak ji odstranit :) V tom kódu se vůbec nevyznám a nikde sem nenašel žádnej "manuál" abych poznal která řást zobrazuje sekundy, ani na php.net. Neví někdo jak na to? :) |
||
Alphard Profil |
#2 · Zasláno: 18. 2. 2010, 18:10:33
|
||
Keeehi Profil |
#3 · Zasláno: 18. 2. 2010, 18:14:21 · Upravil/a: Keeehi
SELECT DATE_FORMAT(slupec_s_datumem,'%e.%c.%Y %k:%i'); |
||
Petr789 Profil * |
#4 · Zasláno: 18. 2. 2010, 18:19:01
Jenže tohle mění formát v databázi ne? Já to chci zformátovat až při výstupu, protože ty sekundy nechci zobrazovat jen při výstupu pro uživatele, v administraci je chci.
|
||
Alphard Profil |
#5 · Zasláno: 18. 2. 2010, 18:24:11
Petr789:
Základní princip: select nemůže měnit žádná data. |
||
Petr789 Profil * |
Dobrá, tak co s tím mám potom dělat?
Teď mám $clanky = mysqli_query ($db_spojeni, 'SELECT * FROM posts ORDER BY id DESC'); while ($row = mysqli_fetch_array($clanky)) { echo '<b>Vloženo:</b> ',$row['datum'],'</p>'; } Jak to tam mám přesně napsat? Nevím kde dělám chybu, ale pokaždý mi to někde vyhodí Parse error. Moderátor Majkl578: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na
![]() |
||
Keeehi Profil |
#7 · Zasláno: 18. 2. 2010, 18:53:40
$clanky = mysqli_query ($db_spojeni, 'SELECT * FROM posts ORDER BY id DESC'); DATE_FORMAT(datum,'%e.%c.%Y %k:%i') as datum
|
||
Alphard Profil |
#8 · Zasláno: 18. 2. 2010, 18:53:49
Třeba
SELECT *, DATE_FORMAT(datum,'%e.%c.%Y %k:%i') datum_f FROM posts ORDER BY id DESC $row['datum_f'] Ale lepší by bylo vyjmenovat všechny potřebné sloupce. |
||
Petr789 Profil * |
#9 · Zasláno: 18. 2. 2010, 19:21:32
Sloupce jsou - nadpis, text, autor, datum
Takže by to mělo být takto? $clanky = mysqli_query ($db_spojeni, 'SELECT nadpis,text,autor,DATE_FORMAT(datum,'%e.%c.%Y %k:%i') datum_f FROM posts ORDER BY id DESC' Tohle mi háže Parse error: parse error, unexpected '%' in C:\PHPWebServer\http_docs\01\vzhled\main.php on line 25 (řádek 25 je tady ten řádek) |
||
Alphard Profil |
#10 · Zasláno: 18. 2. 2010, 19:39:27 · Upravil/a: Alphard
Omlouvám se, už jsem asi slepý. To date_f je alias, můžete zvolit cokoliv, jen se nesmí shodovat s jiným sloupcem a nesmí to být vyhrazené slovo. |
||
Petr789 Profil * |
#11 · Zasláno: 18. 2. 2010, 19:47:58
Ani zdvojené % nepomáhají, stále stejná chyba. Nechápu.
|
||
Keeehi Profil |
#12 · Zasláno: 18. 2. 2010, 19:49:28 · Upravil/a: Keeehi
Alphard:
problém je s uvozovkami (apostrofy) Petr789 Dá se to vyřešit třeba takto: $clanky = mysqli_query ($db_spojeni, "SELECT nadpis,text,autor,DATE_FORMAT(datum,'%e.%c.%Y %k:%i') datum_f FROM posts ORDER BY id DESC"); |
||
Petr789 Profil * |
#13 · Zasláno: 18. 2. 2010, 20:49:44
Ok, díky moc. Tentokrát už se aspoň načte stránka, ale místo dat z databáze to zobrazuje Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in C:\PHPWebServer\http_docs\01\vzhled\main.php on line 26
řádek 26 je takovej while ($radek = mysqli_fetch_array($inzeraty)) { echo *tady je formátování výstupu* } Řádek 26 je ten - while ($radek = ... Před tou změnou s datumem nebyl problém, až teď, tak to asi bude souviset s tím. |
||
Majkl578 Profil |
#14 · Zasláno: 18. 2. 2010, 20:55:05
Petr789:
Tipuji, že SQL dotaz obsahuje chybu a funkce mysqli_query vrací false. |
||
Alphard Profil |
#15 · Zasláno: 18. 2. 2010, 22:30:33
Petr789:
Takhle vám těžko někdo poradí. Samotné vyřešení formátování data je otázka ani ne minuty, ale na fóru se to strašně protahuje. Vložte ten dotaz do nějakého MySQL správce a zjistěte, jestli se nevypíše nějaké chyba. Stejně tak si můžete chybu vypsat v PHP, zkusit var_dump($radek) apod. |
||
Časová prodleva: 13 let
|
0