Autor Zpráva
vlcekp1
Profil
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
$datum=date("j.n.Y", strtotime($zaznam["datum"]));
nightfish
Profil
pokud načítáte datum z databáze a tou databází je mysql, použijte date_format
vlcekp1
Profil
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
Raději použij při ukládání ten DATE_FORMAT.
Mesiah
Profil
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
$datum = strtotime($zaznam['datum']); // unix timestamp, do db jako int(11) tuším...
Měsíček
Profil
Reaguji na gmvaska:

A při tahání zpět zase prohnat jinou funkcí .. zbytečně složité.
DoubleThink
Profil *
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
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
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
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 :-)

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:

0