Autor | Zpráva | ||
---|---|---|---|
vlcekp1 Profil |
#1 · Zasláno: 23. 12. 2008, 12:54:22
Dobrý den.
Nějak se mi nedaří ve scriptu vložit syntaxi pro datum. Ta, kterou tam mám zobrazuje např toto: článek vložen: 2008-12-21 Toto se mi nelíbí. Rád bych do toho dostal např toto datum: Článek byll vložen: úterý, 23.12.2008 11:11. Existuje nějaká syntaxe, která toto udělá? Pokoušel jsem se tam dát něco z příkladu v php manuálu, ale nešlo mi to. V příkladu bylo, že to co chci udělat já, se má zapsat takto: $datum = date("F j, Y, gi Jenže po uložení to píše článek vložen 0000-00-00. Může někdo prosím poradit? Děkuji. |
||
Medvídek Profil |
#2 · Zasláno: 23. 12. 2008, 12:57:19 · Upravil/a: Medvídek
$datum=date("j.n.Y", strtotime($zaznam["datum"])); |
||
nightfish Profil |
#3 · Zasláno: 23. 12. 2008, 12:59:20
pokud načítáte datum z databáze a tou databází je mysql, použijte date_format
|
||
vlcekp1 Profil |
#4 · Zasláno: 23. 12. 2008, 13:01:49
Ne, já to datum teprve ukládám.
$datum=date("j.n.Y", strtotime($zaznam["datum"])); To to datum načte a převede? |
||
Měsíček Profil |
#5 · Zasláno: 23. 12. 2008, 13:10:11
Raději použij při ukládání ten DATE_FORMAT.
|
||
Mesiah Profil |
#6 · Zasláno: 23. 12. 2008, 14:04:57
vlcekp1
nebo proste to uloz jako timestamp a z db to tahej v pozadovanym tvaru, nebo to natahni v timestamp a uprav to az pres php, pokud nechces delat nejaky cachry machry s casem v php, tak je to v podstate jedno. |
||
gmvasek Profil |
#7 · Zasláno: 25. 12. 2008, 20:18:58
$datum = strtotime($zaznam['datum']); // unix timestamp, do db jako int(11) tuším... |
||
Měsíček Profil |
#8 · Zasláno: 25. 12. 2008, 20:20:15
Reaguji na gmvaska:
A při tahání zpět zase prohnat jinou funkcí .. zbytečně složité. |
||
DoubleThink Profil * |
#9 · Zasláno: 26. 12. 2008, 03:23:48 · Upravil/a: DoubleThink
„unix timestamp, do db jako int(11) tuším...“
INT(11) není dost velký ani na uložení aktuálního data. Ukládat datum (a čas) jako něco jiného než DATE, DATETIME, TIMESTAMP a pod. je neomluvitelné. Ohledně manipulace s časem viz MySQL: Date and Time Functions. |
||
Tomasds Profil |
#10 · Zasláno: 26. 12. 2008, 09:03:21
DoubleThink
"Ukládat datum (a čas) jako něco jiného než DATE, DATETIME, TIMESTAMP a pod. je neomluvitelné. " Prosím ?? gmvasek se zřejmě spletl a myslel BIGINT. Do něj ukládám od počátku věků a naprosto mi to vyhovuje. |
||
vlcekp1 Profil |
#11 · Zasláno: 26. 12. 2008, 10:07:27
Mě šlo o tuto věc:
Script má udělat toto: <html> <head> <meta http-equiv=Content-Type content="text/html; charset=windows-1250"> <?require_once "spojeni.php" ;?> <title><?echo "'$title' výsledek operace";?></title> <font size="large"> </head> <body> <?php if ($_COOKIE['prihlasen'] == 1) { $datum=date("Y-m-d"); $titulek = $_POST['titulek']; $clanek = $_POST['clanek']; $autor = $_POST['autor']; $rubrika = $_POST['kategorie']; $clanek = str_replace("\n"," <br> ", $clanek); if ($vysledek = mysql_query( "insert into $tabulka1 (titulek, clanek, autor, rubrika, datum) values ('$titulek','$clanek','$autor','$rubrika','$datum')")) { $id=$_GET['id']; echo "Článek byl uložen."; echo "<meta http-equiv=\"refresh\" content=\"5;url=index.php\">"; } else echo "článek se neuložil"; } else include "admin.php"; ?> </body> </html> Přičemš ymd je jediná syntaxe pro datum, která mi funguje, ale vypíše např toto: 2008-26-12, což když chci řadit příspěvky podle data, tak se to takhle ukládat nemůže. Divné je, že mi nefunguje nic jiného než to, co tam mám napsáno. |
||
Mastodont Profil |
#12 · Zasláno: 26. 12. 2008, 10:27:57
Tomasds
Ano, pokud má databáze datové typy DATE, DATIME apod., tak ukládání do jakéhokoli čísla je prasárna. Pokud tím někdo obchází třeba fakt, že v MySQL začíná DATE až od roku 1000, je to jen důkaz toho, že MySQL je šmejd :-) |
||
Časová prodleva: 15 let
|
0