Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Php zu dumm für Timestamp ?? [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Php zu dumm für Timestamp ??


 
ussi
29-11-2005, 14:38 
 
Ich weiß das es dazu schon viele post dazu gibt (hab die meisten dazu bestimmt gelesen), aber mein Problem besteht immer noch und zwar ist nicht das Timestamp das überlich 01.01.1970 aus gibt sondern 19 Jan 2038 ?? Was soll das bitte ??

Also in der Datenbank steht
id name editor eintrag time
8 test rutherv.avi test 20051129125616


Quellcode der echo.php

<?php
$database= "ha";
$sqlhost= "localhost";
$sqluser= "root";
$sqlpass= "";

$pfad = $_GET["pfad"];

mysql_connect($sqlhost,$sqluser,$sqlpass);
mysql_select_db($database);

$res = mysql_query("select * from $pfad ORDER BY id ASC");
$num = mysql_num_rows($res);

// Tabellenbeginn
echo "<table border>";

// Überschrift
echo "<tr> <td>Nick</td>";
echo "<td>Name</td> <td>Editor</td>";
echo "<td>Datum</td> <td>Id</td> </tr>";

while ($dsatz = mysql_fetch_assoc($res))
{
$date = date(" d M Y", $dsatz["time"] );
echo "<tr>";
echo "<td>" . $dsatz["name"] . "</td>";
echo "<td>" . $dsatz["editor"] . "</td>";
echo "<td>" . $dsatz["eintrag"] . "</td>";
echo "<td>" . $date . "</td>";
echo "<td>" . $dsatz["id"] . "</td>";
echo "</tr>";
}

// Tabellenende
echo "</table>";

?>


Produzierte Ausgabe:
Nick Name Editor Datum Id
test rutherv.avi test 19 Jan 2038 8


WIESO DIESES DATUM UND NICHT DAS RICHTIGE ??

HILFE !! *danke*

 
wahsaga
29-11-2005, 14:44 
 
Nicht PHP ist hier dumm, sondern ussi.

Dass der TIMESTAMP-Spaltentyp von MySQL ein ganz anderes Format hat als der Unix Timestamp, den die Datumsfunktionen von PHP verwenden, kannst du im Handbuch nachlesen.

 
yakuzza
29-11-2005, 15:13 
 
20051129125616


Unterschiede

UNIX Timestamp = Sekunden ab dem 01.01.1970
mySQL Timestamp = JAHR MONAT TAG STD MIN SEK

in deinem Fall

2005-11-29 12:56:16

;)

 
fox34
29-11-2005, 15:26 
 
Ich sag ja.. in 90% aller fälle sitzt der Fehler 50cm vor dem Bildschirm ;)

 
flyingMiATA
29-11-2005, 15:35 
 
Original geschrieben von fox34
Ich sag ja.. in 90% aller fälle sitzt der Fehler 50cm vor dem Bildschirm ;)

genau zwischen Tastatur und Stuhl ;)

 
ussi
29-11-2005, 15:48 
 
bei mir sind es nur 30 cm, weil sonst kann ich so schlecht lesen diese kleinen komischen zeichen .....

aber ne richte antwort bekommt man von den pros net oder wie ?? ne krankheit :) ??

danke :)

-> koennte mir wenigsten jemand sagen ob ich irgendwas mit UNIX_timestamp machen muss oder irgenwas anderes ??? Bitte hilfe ich frang gleich an zu weinen :( :)

 
fox34
29-11-2005, 17:22 
 
unix_timestamp, du sagst es... warum probierst das nich einfach aus?


Beispiel:

$sql = "INSERT INTO `blablabla` [...] '".time()."', [...]";



Kannst auch die SQL-Funktion UNIX_TIMESTAMP benutzen... ich bevorzuge aber diese Methode ;)

 
wahsaga
29-11-2005, 17:40 
 
Original geschrieben von fox34
ich bevorzuge aber diese Methode ;)
Warum die idR. ziemlicher Blödsinn ist, wurde hier schon oft genug erläutert.

 
thommyk
29-11-2005, 17:43 
 
Ersetz mal die zwei Zeilen durch:

$res = mysql_query("select *, UNIX_TIMESTAMP(`time`) AS `unixtime` from $pfad ORDER BY id ASC");
.....
$date = date(" d M Y", $dsatz["unixtime"];

 
ussi
29-11-2005, 17:47 
 
ich moechte mich entschuldigen wenn ich unnötigt irgendwelche leute gestresst habe die zuviel wissen haben :)


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:44 Uhr.