hilfdirselbst.ch
Facebook Twitter gamper-media
olli
Beiträge: 5
26. Feb 2004, 23:24
Beitrag #1 von 8
Bewertung:
(2052 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Datum/mySQL/PHP


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 Top
 
X
SabineP  M 
Beiträge: 7586
27. Feb 2004, 13:24
Beitrag #2 von 8
Beitrag ID: #72415
Bewertung:
(2052 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Datum/mySQL/PHP


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
als Antwort auf: [#72314] Top
 
Anonym
Beiträge: 22827
27. Feb 2004, 18:59
Beitrag #3 von 8
Beitrag ID: #72492
Bewertung:
(2052 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Datum/mySQL/PHP


Hallo Sabine,

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

Viele Grüsse
Ollie
als Antwort auf: [#72314] Top
 
jrandi
Beiträge: 793
27. Feb 2004, 22:43
Beitrag #4 von 8
Beitrag ID: #72530
Bewertung:
(2052 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Datum/mySQL/PHP


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
als Antwort auf: [#72314] Top
 
jrandi
Beiträge: 793
27. Feb 2004, 22:58
Beitrag #5 von 8
Beitrag ID: #72531
Bewertung:
(2052 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Datum/mySQL/PHP


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"];
als Antwort auf: [#72314] Top
 
SabineP  M 
Beiträge: 7586
27. Feb 2004, 23:17
Beitrag #6 von 8
Beitrag ID: #72532
Bewertung:
(2052 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Datum/mySQL/PHP


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.
als Antwort auf: [#72314]
(Dieser Beitrag wurde von SabineP am 27. Feb 2004, 23:28 geändert)
Top
 
jrandi
Beiträge: 793
27. Feb 2004, 23:48
Beitrag #7 von 8
Beitrag ID: #72535
Bewertung:
(2052 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Datum/mySQL/PHP


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. . .
als Antwort auf: [#72314]
(Dieser Beitrag wurde von jrandi am 27. Feb 2004, 23:55 geändert)
Top
 
olli
Beiträge: 5
29. Feb 2004, 19:00
Beitrag #8 von 8
Beitrag ID: #72724
Bewertung:
(2052 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Datum/mySQL/PHP


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
als Antwort auf: [#72314]
(Dieser Beitrag wurde von olli am 29. Feb 2004, 19:51 geändert)
Top
 
X