Forenindex » Programmierung/Entwicklung » PHP und MySQL » Datum/mySQL/PHP

Datum/mySQL/PHP

olli
Beiträge gesamt: 5

26. Feb 2004, 23:24
Bewertung:

gelesen: 2549

Beitrag als Lesezeichen
Hallo Zusammen,

in einem Eingabeformular würde ich gerne Tag, Monat und Jahr im deutschen Format eingeben können. Ich dachte, ich mache es mit drei Eingabefeldern, damit ich diese im benötigten, englischen Format an die Datenbank weitergeben kann. Aber ist es möglich, Inhalte dreier Eingabefelder in eine Zelle der Datenbank zu übertragen? Oder weiss jemand vielleicht eine einfachere Lösung? Das Darstellen des Englischen Formates aus der Datenbank in das Deutsche Format funktioniert mit GoLive recht einfach.

Vielen Dank im Voraus und Grüsse
Ollie

Datum/mySQL/PHP

SabineP
Beiträge gesamt: 7586

27. Feb 2004, 13:24
Bewertung:

gelesen: 2549

Beitrag als Lesezeichen
Hallo olli, ohne Fehler- und Plausibilitäts-Prüfung
könnte das Script so aussehen (Datum eintragen/anzeigen):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML><HEAD><TITLE> Datum eintragen </TITLE></HEAD>

<BODY>
<form action="datum.php" method="post">

<!-- hier eventuell select-Felder verwenden -->

Tag:<INPUT maxlength="2" NAME="tag">
Monat:<INPUT maxlength="2" NAME="monat">
Jahr:<INPUT maxlength="4" NAME="jahr"><br>
<INPUT TYPE="submit">

</form>

<?php

$tag = $_POST["tag"];
$monat = $_POST["monat"];
$jahr = $_POST["jahr"];

$datum_ymd = "$jahr-$monat-$tag";

print "$datum_ymd";

$dbh = mysql_connect("hostname","username","passwort");
mysql_select_db("datenbankname",$dbh);

$result = mysql_query("INSERT INTO test (datum) VALUES('$datum_ymd')");

$result = mysql_query("SELECT ID, DATE_FORMAT(datum,'%d.%m.%Y') FROM test");

print "<br>Alle Datums-Einträge anzeigen<br><br>";
print "ID | Datum";

while($abfrage = mysql_fetch_row($result)){

print "<br>";
print $abfrage[0];
print " | ";
print $abfrage[1];

}
mysql_close($dbh);

?>

</BODY>
</HTML>

Gruß Sabine

Datum/mySQL/PHP

Anonym
Beiträge gesamt: 22827

27. Feb 2004, 18:59
Bewertung:

gelesen: 2549

Beitrag als Lesezeichen
Hallo Sabine,

vielen Dank für die schnelle Antwort und das Script!

Viele Grüsse
Ollie

Datum/mySQL/PHP

jrandi
Beiträge gesamt: 794

27. Feb 2004, 22:43
Bewertung:

gelesen: 2549

Beitrag als Lesezeichen
Hallo

man kann sich auch ein paar php-zeilen sparen : (habe aber auch keine tests gemacht, sind nur code-schnipsel von meinen projekten)

anstelle formular-felder für's datum zu erstellen, welche man manuell eintragen muss, einfach folgenden code in das formular.php eingeben :
<?php
$date_visite=date("d-m-Y");
$heure_visite=date("H:i");
?>
somit wird datum + zeit beim abschicken des formulars in die variablen aufgenommen. diese wiederum in der mysql-db speichern, aber nicht als "date" !! sondern als "varchar", mit date kommt das datum etwas bizarr daher.

hier mal den ganzen code, den ich für persönliche stats verwende. nimm raus, was du brauchst :
_____________________________________________________________________

<?PHP
include("connect.php");
$date_visite=date("d-m-Y");
$heure_visite=date("H:i");
$ip=getenv("REMOTE_ADDR");
$langue=getenv("http_accept_language");
$software=getenv("server_software");
$script_name=getenv("script_name");
$agent=getenv("HTTP_USER_AGENT");
$ref=getenv("HTTP_REFERER");
// reload ou bien - meme ip ?
$last=mysql_query("select ip from stats ORDER BY id_visiteur desc");
$thelast=mysql_result($last,0,"ip");
if($ip!==$thelast){
$query=mysql_query("INSERT INTO stats (date_visite,heure_visite,ip,langue,script_name,agent,ref) values ('$date_visite','$heure_visite','$ip','$langue','$script_name','$agent','$ref')");
if(!$query) {
$error=mysql_error();
echo $error;
echo "schrooooot";
exit;
}
}
?>
___________________________________________________________________

ausgabe

nimm aus dem code, was du benötigst :

<?
//connexion au serveur
//selection de la bd
include("../../connect.php");
$query=mysql_query("SELECT * FROM stats ORDER BY id_visiteur desc");
$lignes=mysql_num_rows($query);
for($i=0;$i<$lignes;$i++) {
echo "<tr valign='top'><td class='pt_text' width='60'>";
echo mysql_result($query,$i,'id_visiteur');
echo "</td><td class='pt_text' width='180'>";
echo mysql_result($query,$i,"date_visite");
echo "&nbsp;&nbsp;&nbsp;";
echo mysql_result($query,$i,"heure_visite");
echo "</td><td class='pt_text' width='130'>";
echo mysql_result($query,$i,"ip");
echo "</td><td class='pt_text' width='60'>";
echo mysql_result($query,$i,"langue");
echo "</td><td class='pt_text' width='430'>";
echo mysql_result($query,$i,"agent");
echo "<br>";
echo mysql_result($query,$i,"ref");
echo "&nbsp;</td></tr>";
}
?>

hoffe hilft weiter. have a lot of fun.
jurg

Datum/mySQL/PHP

jrandi
Beiträge gesamt: 794

27. Feb 2004, 22:58
Bewertung:

gelesen: 2549

Beitrag als Lesezeichen
ach ja, bei meinen code-schipsel ist noch zu beachten, dass sie alt sind. . .

neu muss man die variablen wie folgt zurück holen, wenn register_globals=OFF (seit php-version 4.2 standard) :

$date = $_POST["date"];

Datum/mySQL/PHP

SabineP
Beiträge gesamt: 7586

27. Feb 2004, 23:17
Bewertung:

gelesen: 2549

Beitrag als Lesezeichen
Hallo jrandy, was spricht dagegen den Datentyp "timestamp" zu verwenden,
wenn nur das aktuelle Datum eingetragen werden soll ohne Formular?

Beispiel:

Neuen Datensatz anlegen mit aktuellen Datum als Timestamp
INSERT INTO test()VALUES()

Datum formatieren
SELECT ID, DATE_FORMAT(datum,'%d.%m.%Y %H:%i')FROM test

Gruß Sabine
PS. Im Beispiel wird auch die Uhrzeit angezeigt.

(Dieser Beitrag wurde von SabineP am 27. Feb 2004, 23:28 geändert)

Datum/mySQL/PHP

jrandi
Beiträge gesamt: 794

27. Feb 2004, 23:48
Bewertung:

gelesen: 2549

Beitrag als Lesezeichen
klar, timestamp ist ebenfalls eine gute lösung ! womöglich die bessere, hatte nicht daran gedacht. für einfache lösungen geht ja beides.

und es soll ja ins formular aufgenommen werden, verstehen daher weniger deine aussage :
"wenn nur das aktuelle Datum eingetragen werden soll ohne Formular? "

wie dem auch sie, unser "anonym" hat ein paar tipps um sich durchzuschlagen. . .

(Dieser Beitrag wurde von jrandi am 27. Feb 2004, 23:55 geändert)

Datum/mySQL/PHP

olli
Beiträge gesamt: 5

29. Feb 2004, 19:00
Bewertung:

gelesen: 2549

Beitrag als Lesezeichen
Fürwahr, nun habe ich einige Tipps von Euch ...
Nun muss ich sagen, dass ich mit PHP nicht so viel Erfahrung habe, die Eingabeformulare und Abfrageseiten habe ich mit GoLive erstellt, was bisher wunderbar funktionierte und für meine Anforderungen reichte. Bis auf die Sache, das zu den einzelnen Eingabebegriffen nun auch ein Datum (für einen Veranstaltungskalender) mit eingegeben werden muss. Nun gilt es, Euren Code in meinen GoLive-Code unterzubekommen.

Also, vielen Dank für Eure Tipps,
Gruss
Ollie

(Dieser Beitrag wurde von olli am 29. Feb 2004, 19:51 geändert)