Problem mit Zeitausgabe
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ahnung
anzahl
ausgabe
beitrag
date
eintrag
error
fehler
fehlermeldung
gruss
gstebuch
insert
laut
order
sir
spalten
syntax
tabelle
uhr
versuchen
-
hey
hab ein problem mit meinem gästebuch. und zwar bekomm ich es irgendwie nicht hin, dass die richtige uhrzeit gezeigt wird.
wenn es eigtl 15:00 uhr ist zeigt der 14:00 uhr an also immer eine stunde früher
hier das script der gb ausgabe :
<?php
$ErgebnisseProSeite = 5;
$DatabasePointer=mysql_connect("", "", "");
mysql_select_db("", $DatabasePointer);
if(!isset($_REQUEST['AktuelleSeite']))
{
$AktuelleSeite=0;
}
else
{
$AktuelleSeite=$_REQUEST['AktuelleSeite'];
}
$ResultPointer=mysql_query("SELECT * FROM Gaestebuch ORDER BY Datum DESC LIMIT $AktuelleSeite, $ErgebnisseProSeite", $DatabasePointer);
$Anzahl=mysql_num_rows(mysql_query("SELECT * FROM Gaestebuch ORDER BY Datum DESC", $DatabasePointer));
echo"<table border=\"0\">";
for($i=0; $i<mysql_num_rows($ResultPointer); $i++)
{
$Gaestebuch=mysql_fetch_object($ResultPointer);
echo"<tr>",
"<td> <font face=\"Verdana\" size=\"2\">Eintrag von <b>",
$Gaestebuch->Name,
"</b> am <b>",
substr($Gaestebuch->Datum, 8, 2),
".",
substr($Gaestebuch->Datum, 5, 2),
".",
substr($Gaestebuch->Datum, 0, 4),
" ",
substr($Gaestebuch->Datum, 10),
"</b></td>",
"</tr>",
"<tr>",
"<td><b><font face=\"Verdana\" size=\"2\">",
$Gaestebuch->Titel,
"</b></td>",
"</tr>",
"<tr>",
"<td><font face=\"Verdana\" size=\"2\">",
nl2br($Gaestebuch->Eintrag),
"</td>",
"</tr>",
"<tr>",
"<td><hr></td>",
"</tr>";
}
echo "</table>";
if($Anzahl>$ErgebnisseProSeite)
{
$Seiten=intval($Anzahl/$ErgebnisseProSeite);
if($Anzahl%$ErgebnisseProSeite)
{
$Seiten++;
}
echo"Seite ";
}
for($i=1; $i<=$Seiten; $i++)
{
echo"<a href=\"gaestebuch.php?AktuelleSeite=",
($i-1)*$ErgebnisseProSeite,
"\">$i</a> ";
}
?>
hoffe, ihr könnt mir helfen!
mfg -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Wie speicherst du das Datum denn in der Datenbank? Scheinbar nicht als Timestamp, denn sonst würdest du nicht substr() benutzen.
Ich empfehle dir, das Datum als Timestamp zu speichern und den dann auszulesen. Über date() bzw. mit strftime() kannst du das Datum dann ohne Probleme in dem von dir gewünschten Format ausgeben lassen. Alles Andere ist nur unnötig kompliziert. -
Ich könnte schon, aber ich will nicht ;)
Ist eingentlich ganz einfach.
In dem Teil des Scripts (bzw. der Datei), der die Daten in der Datenbank speichert, musst du deine jetztige Datumsangabe durch den Timestamp ersetzen. Am Besten du definierst dir eine Variable
$time = time();
Das speicherst du dann in der Spalte der Tabelle für das Datum, also irgendwie
query="INSERT INTO `tabelle` (Datum) VALUES ('$time')";
Dein Script zum Auslesen kannst du eingentlich fast so lassen, also die queries bleiben so. Ändern musst du nur die Datumssachen
//[...] for($i=0; $i<mysql_num_rows($ResultPointer); $i++) { $Gaestebuch=mysql_fetch_object($ResultPointer); echo'<tr>', '<td> <font face=\'Verdana\' size=\'2\'>Eintrag von <b>', $Gaestebuch->Name, '</b> am <b>', strftime('%A - %d.%m.%Y %H:%M',$Gaestebuch->Datum) '</b></td>',
Für weitere Infos, in Bezug auf die Anzeigeoptionen mit strftime(), mal das Manual lesen:
http://www.selfphp.info/funktionsreferenz/datums_und_zeit_funktionen/strftime.php
Ich hoffe das war einigermaßen verständlich, falls nicht frag einfach nochmal nach.
edit
Ach ja, und in der Datenbank sollte die Spalte für das Datum auf int stehen. Länge ist egal, nur nicht kürzer als 10.
Beitrag geaendert: 19.1.2007 16:57:48 von tct -
danke! ich hoffe es klappt!
ich werde es ausprobieren, wenn phpMyAdmin wieder funzt! -
das funktioniert nicht!
->
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING
Nett das du uns jetzt die Fehlermeldung gibst aber ich hab keine Ahnung wie der code dazu aussieht wäre nett diesen auch zu posten dann kann ich dir vl weiterhelfen...
@tct:
Wenn das kommas sind beim echo '', dann kann das nicht hinhauen^^ Also laut mienem Wissen ist das mit einem . (Verknüpfungsoperator in PHP) zu verbinden. und am Ende des echo gehört klarer weiße ein ;
Gruß Sir Seven -
das funktioniert nicht!
->
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING
Nett das du uns jetzt die Fehlermeldung gibst aber ich hab keine Ahnung wie der code dazu aussieht wäre nett diesen auch zu posten dann kann ich dir vl weiterhelfen...
Danke das du das gesagt hast, ich wusste nicht wie ich das "schonend" rüberbringen sollte.
@tct:
Wenn das kommas sind beim echo '', dann kann das nicht hinhauen^^ Also laut mienem Wissen ist das mit einem . (Verknüpfungsoperator in PHP) zu verbinden. und am Ende des echo gehört klarer weiße ein ;
Gruß Sir Seven
Dass am Ende bei mir kein ; steht, liegt einfach nur daran, dass ich nur einen Teil des Codes genommen hab, wo das echo noch nicht zu Ende ist.
Mit dem Verküpfungsoperator könntest du aber recht haben. Wenn man am Anfang von echo ' und nicht '' benutzt, müssen dort . und nicht , hin. Grade vor strftime() könnte das zu Problemen führen.
Beitrag geaendert: 22.1.2007 18:23:22 von tct -
aeehmm der code ist der, der von tct gepostet wurde ;)
und der fehler tritt in dieser zeile auf:
strftime('%A - %d.%m.%Y %H:%M',$Gaestebuch->Datum)
Beitrag geaendert: 22.1.2007 18:51:21 von italien06 -
Es kann sein, dass der Pfeil Probleme macht. Versuch vll mal $Gaestebuch=mysql_fetch_object($ResultPointer); dem Datum eine eigene Variable zu geben. Also irgendwie so
$Gaestebuch=mysql_fetch_object($ResultPointer); $datum = $Gaestebuch->Datum;
Bei der Ausgabe aber nicht vergessen $Gaestebuch->Datum durch $datum zu ersetzen.
Wenn das auch nicht helfen sollte versuch mal das echo ein wenig zu verändern:
echo'<tr>', '<td> <font face=\'Verdana\' size=\'2\'>Eintrag von <b>', $Gaestebuch->Name, '</b> am <b>'.strftime('%A - %d.%m.%Y %H:%M',$datum).'</b></td>',
Beitrag geaendert: 22.1.2007 19:08:21 von tct -
Es funzt alles, wie es sein soll!
Danke für die Hilfe mit der Zeit!
Der Rest war ein Fehler von mir! Hab nen Fehler in den Code eingebaut -.-
MfG -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage