Stránka 1 z 1

Vkládání data a času pomocí formuláře do databáze

Napsal: 07 pro 2010 08:08
od jurasek07
Díky níže uvedeného skiptu vkládám datum do databáze. Snažím se však také přijít na řešení, jak také přesně zadat čas (hodiny a minutu) do samostatných buněk. Po odeslání formuláře bych chtěl, aby se datum, hodina a čas uložili do jednené buňky (příklad formátu "1268953090"). Poradtě mi prosím, jak to udělat. Děkuji za pomoc.

Níže uvádím skript, který jsem vytvářel a který mi vkládá pouze datum bez času:

if ($select==form)
{
echo "<table border='1'>
<form action='index.php?select=uloz' method='post'
enctype='multipart/form-data'>
<tr>
<td width=100>Nazev</td>
<td width=100>Datum</td> //formát data 12/11/2010
<td width=50>Hodiny</td> //hodiny 12 (12 hodin atd.)
<td width=50>Čas</td> //minuty 30 (30 minut atd.)
</tr>
<tr>
<td><input name=nazev></td>
<td><input name=datum></td>
<td><input name=hodiny></td>
<td><input name=minuty></td>
</tr>
<tr>
<td></td>
<td><input type='submit' value='Uložit termín'
name='submit'></td>
</tr>
</form>
</table>";
}

if ($select==uloz)
{
datum = $_POST['datum'];
$hodiny = $_POST['hodiny'];
$minuty = $_POST['minuty'];

$datum1= strtotime("$datum");

$query = "INSERT INTO skoleni (id, nazev, datum)
VALUES ('','$nazev','$datum1')";
mysql_query($query) or die("Není možné přidat záznam do databáze!");

}

Re: Vkládání data a času pomocí formuláře do databáze

Napsal: 07 pro 2010 16:52
od CZechBoY
radši bych šel přes rozřezání řetězce na jednotlivé hodiny,minuty,.. a pak MkTime, StrToTime je omezený dost, sice zatím funguje, ale nižší datumy(např. datum narození) nebo vyšší datumy(za 60let) už nebude stačit datový typ INT
no teď k věci::
v tvým skriptu nevidím ošetření proti SQL injection(pěkná věcička)
potom SQL (MySQL alespoň) má funkci UNIX_TIMESTAMP() = aktuální čas (SQL serveru, nikoli PHP) v INT formátu (počet sekund od roku 1970)