[PHP/Mysql] Datum invoeren

Pagina: 1
Acties:

  • pctje
  • Registratie: Juni 2000
  • Laatst online: 27-08 13:55
Heb een DATE veld gemaakt in MYsql om datums in te kunnen voegen, deze hebben dus de notatie YYYY-MM-DD

het uitlezen en omzetten naar europese notatie is al gelukt
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<TITLE>Retrieving Data from a Database</TITLE>
</HEAD>
<BODY>
<?php
// Set the variables for the database access:
$Host = "localhost";
$User = "";
$Password = "";
$DBName = "VACATURE";
$TableName = "vacature1";

$Link = mysql_connect ($Host, $User, $Password);

$Query = <b>"SELECT nr, date_format(datum, '%d-%m-%Y')</b> as datum from $TableName";
$Result = mysql_db_query ($DBName, $Query, $Link);


print ("<TABLE BORDER=1 WIDTH=\"75%\" CELLSPACING=2 CELLPADDING=2 ALIGN=CENTER>\n");
print ("<TR ALIGN=CENTER VALIGN=TOP>\n");
print ("<TD ALIGN=CENTER VALIGN=TOP>nr</TD>\n");
print ("<TD ALIGN=CENTER VALIGN=TOP>datum</TD>\n");
print ("</TR>\n");


while ($Row = mysql_fetch_array ($Result)) {
     print ("<TR ALIGN=CENTER VALIGN=TOP>\n");
     print ("<TD ALIGN=CENTER VALIGN=TOP>$Row[nr]</TD>\n");
     print ("<TD ALIGN=CENTER VALIGN=TOP>$Row[datum]</TD>\n");
     print ("</TR>\n");
}
mysql_close ($Link);
print ("</TABLE>\n");
?>
</BODY>
</HTML>

Maar hoe kan ik nou de datum in de database invoegen door in het te voeren als DD-MM-YYYY en dat het in de database dan YYYY-MM-DD wordt opgeslagen

Wie helpt me

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

explode() (of split()) en dan beetje stukjes aan elkaar plakken - in PHP dus.

Klaar voor een nieuwe uitdaging.


  • pctje
  • Registratie: Juni 2000
  • Laatst online: 27-08 13:55
heeft iemand voorbeeldje??

heb dus 1 vak met daarin bijv. 20-12-2001
hhoe zet ik dat dan om??

  • Grum
  • Registratie: Juni 2001
  • Niet online
explode() (of split()) en dan beetje stukjes aan elkaar plakken - in PHP dus.

Zelf iets doen is lastig huh ?

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 09:47
Zelf zit ik ook vaak met dit 'probleem' en heb ik onderstaande functie geschreven; is natuurlijk voor verbetering vatbaar, maar het werkt wel!
PHP:
1
<?    // Zet de datum om van MySQL-formaat naar 'Europees' formaat of omgekeerd    // $type = 1: jjjj-mm-dd --> dd-mm-jjjj    // $type = 2: dd-mm-jjjj --> jjjj-mm-dd    function formatDate($datum, $type)    {        switch ($type)        {            case 1 : $returnvalue = substr($datum, 8, 2)."-".substr($datum, 5, 2)."-".substr($datum, 0, 4); break;            case 2 : $returnvalue = substr($datum, 6, 4)."-".substr($datum, 3, 2)."-".substr($datum, 0, 2); break;            default: $returnvalue = $datum;        }        return $returnvalue;    }?>

  • pctje
  • Registratie: Juni 2000
  • Laatst online: 27-08 13:55
Bedankt voor de tips!!! Dit is het geworden
code:
1
2
3
4
5
6
$date = "$datum";  
list ($day, $month, $year) = split ('[/.-]', $date);
$datumsql=$year."-".$month."-".$day;

$sql = "INSERT INTO tabelnaam (nr, datum)
    VALUES ('$nr', '$datumsql')";

  • Grum
  • Registratie: Juni 2001
  • Niet online
kan je misschien de '$date = "$datum";' uitleggen ? :D

  • pctje
  • Registratie: Juni 2000
  • Laatst online: 27-08 13:55
achteraf gezien was dat niet nodig, al die $date en $datumsql kunnen allemaal $datum worden.

Was ff voor m'n eigen duidelijkheid, maar kunnen gewoon hetzelfde zijn.
Pagina: 1