art-d-sign
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 10.07.2008, 13:38   #1
TP-Senior
 
Registriert seit: Jul 2007
Ort: Bobingen
Marki87 ist auf einem guten Weg

Komisches Datum bei strtotime(


Hallo zusammen,
bin gerade auf ein sonderbares Problem bei der Anwendung der Funktion strtotime( gestoßen. Diese habe ich verwendet, um mein echo-Ausgabe des Datums ans deutsche Format ('d.m.Y') anzupassen.
Nun klappt das eigentlich, nur leider nicht an folgender Stelle:

PHP-Code:
<?php if($totalRows_Detailabfrage_7 0?>
                 <?php do { ?> 
                 <tr>
                  
                  <td><span><strong><?php echo $row_Detailabfrage_7['name']; ?></strong></span></td>
                   <td><span><strong><?php echo date('d.m.Y'strtotime($row_Detailabfrage_7['datum'])); ?></strong></span></td>
                </tr>
               <tr>
                  <td>&nbsp;</td>
                 </tr>
                <tr>
                  <td colspan="4"><span><?php echo $row_Detailabfrage_7['text']; ?></span></td>
                </tr>
                <tr>
                  <td colspan="4"><hr></td>
                  </tr>
                <?php } while ($row_Detailabfrage_7 mysql_fetch_assoc($Detailabfrage_7)); ?>
Dabei werden die Treffer nacheinander aus der DB mit dem jeweiligen ausgelesen und angezeigt. Bevor aber der erste Treffer angezeigt wird, steht da das komische Datum 01.01.1970.

Im Quelltext steht dann da:

<td><span><strong>01.01.1970</strong></span></td>

Kann mir jemand sagen wie das da hinkommt und schnellstmöglich wieder verschwindet? (Schaut nämlich ziemlich komisch aus...)
Vielen Dank!
__________________
Herzlichst, euer Markus

http://www.studio-bewertungen.de/
http://www.uni-bewertungen.de/
Marki87 ist offline   Mit Zitat antworten


Alt 10.07.2008, 14:58   #2
TP-Moderator
 
Benutzerbild von maxi89
 
Registriert seit: Nov 2004
Ort: Wuppertal
maxi89 lebt für das TP und seine Usermaxi89 lebt für das TP und seine Usermaxi89 lebt für das TP und seine Usermaxi89 lebt für das TP und seine Usermaxi89 lebt für das TP und seine Usermaxi89 lebt für das TP und seine Usermaxi89 lebt für das TP und seine User
Was steht denn in der Variable $row_Detailabfrage_7['datum'] drin bzw. steht da überhaupt was drin?

Denn wie du weißt, gibt der Timestamp die Sekunden, beginnend bei einem bestimmten Datum an - und jetzt darfst du raten, bei welchem
Wenn also strtotime() kein Datum in der Variable erkennen kann, gibt es keinen Timestamp zurück und das dürfte die Funktion date() als 0 auffassen und das dazu passende Datum ausgeben.
__________________
Chuck Norris darf während der Fahrt mit dem Busfahrer sprechen!
maxi89 ist offline   Mit Zitat antworten
Alt 10.07.2008, 15:58   #3
TP-Senior
 
Registriert seit: Jul 2007
Ort: Bobingen
Marki87 ist auf einem guten Weg
Das Datum wird per TIMESTAMP gespeichert, da hast du richtig vermutet. Allerdings wird mir das 1970er Datum sowohl angezeigt, wenn der String ein leeres Ergebnis liefert, als auch wenn Treffer angezeigt werden.
Allerdings: Wenn Treffer da sind, erkennt er ja die Daten, er schiebt mir nur an den Anfang der Liste das 1970er.
Wenn keine Treffer da sind, sollte er doch eigentlich das echo nicht ausführen...
Was kann ich also machen?
__________________
Herzlichst, euer Markus

http://www.studio-bewertungen.de/
http://www.uni-bewertungen.de/
Marki87 ist offline   Mit Zitat antworten
Alt 10.07.2008, 16:06   #4
TP-Moderator
 
Benutzerbild von maxi89
 
Registriert seit: Nov 2004
Ort: Wuppertal
maxi89 lebt für das TP und seine Usermaxi89 lebt für das TP und seine Usermaxi89 lebt für das TP und seine Usermaxi89 lebt für das TP und seine Usermaxi89 lebt für das TP und seine Usermaxi89 lebt für das TP und seine Usermaxi89 lebt für das TP und seine User
a) Wenn du schon einen Timestamp hast: Wieso benutzt du dann strtotime()?

b) Wo kommt $totalRows_Detailabfrage_7 her?
Da könnte man doch einfach in der if-Abfrage stattdessen
count($row_Detailabfrage_7) einsetzen. Das ist viel sicherer, weil du die Variable prüfst, die du später auch ausgeben willst
__________________
Chuck Norris darf während der Fahrt mit dem Busfahrer sprechen!
maxi89 ist offline   Mit Zitat antworten
Alt 10.07.2008, 16:54   #5
TP-Senior
 
Registriert seit: Jul 2007
Ort: Bobingen
Marki87 ist auf einem guten Weg
zu a) Ich bin auf diese Funktion gestoßen, habe sie an verschiedenen Stellen auch schon erfolgreich angewendet.Nur hier scheint sie nicht zu gehen.

zu b) Der Abfragestring:
PHP-Code:
mysql_select_db($database_Studios$Studios);
$query_Detailabfrage_7 sprintf("SELECT id, bewertungsid, name, datum, text, freigeben FROM tbl_bew_kommentieren WHERE bewertungsid = $colname_Detailabfrage_3"GetSQLValueString($colname_Detailabfrage_7"int"));
$Detailabfrage_7 mysql_query($query_Detailabfrage_7$Studios) or die(mysql_error());
$totalRows_Detailabfrage_7 mysql_num_rows($Detailabfrage_7); 
Und wie kann ich da das count verwenden?
__________________
Herzlichst, euer Markus

http://www.studio-bewertungen.de/
http://www.uni-bewertungen.de/
Marki87 ist offline   Mit Zitat antworten
Alt 10.07.2008, 17:47   #6
TP-Moderator
 
Benutzerbild von maxi89
 
Registriert seit: Nov 2004
Ort: Wuppertal
maxi89 lebt für das TP und seine Usermaxi89 lebt für das TP und seine Usermaxi89 lebt für das TP und seine Usermaxi89 lebt für das TP und seine Usermaxi89 lebt für das TP und seine Usermaxi89 lebt für das TP und seine Usermaxi89 lebt für das TP und seine User
Zitat:
Zitat von Marki87 Beitrag anzeigen
zu a) Ich bin auf diese Funktion gestoßen, habe sie an verschiedenen Stellen auch schon erfolgreich angewendet.Nur hier scheint sie nicht zu gehen.
Nunja, wenn du versuchst einen Timestamp in einen Timestamp zu wandeln...
Zitat aus der PHP-Doku: "Diese Funktion erwartet einen String mit einem Datum im englischen Format und versucht diesen in einen Unix-Timestamp umzuwandeln".
Wir verweisen nicht auf die Dokumentationen von PHP um dich zu ärgern, sondern weil dort steht, was eine Funktion tut und welche Alternativen man hat, die es besser können.
Die haben auch die Möglichkeit, dass man sich die PHP-Suche direkt ins Firefox-Suchfeld integrieren kann.

Zitat:
Zitat von Marki87 Beitrag anzeigen
Und wie kann ich da das count verwenden?
Du ersetzt dein <?php if($totalRows_Detailabfrage_7 > 0) ?> durch
<?php if(count($row_Detailabfrage_7) > 0) ?> .
Wenn du das Array nicht vorher von Hand zusammenbastelst, sondern durch MySQL oder sonstwas generiert wird, sollte das funktionieren.
Siehe auch count()-Doku, gelbes Feld. Denn falls die Variable innerhalb einer if-Abfrage erstellt wird, kannst du noch einfacher mit isset() prüfen, ob die Variable überhaupt exisitert.
__________________
Chuck Norris darf während der Fahrt mit dem Busfahrer sprechen!
maxi89 ist offline   Mit Zitat antworten
Alt 10.07.2008, 18:31   #7
TP-Senior
 
Registriert seit: Jul 2007
Ort: Bobingen
Marki87 ist auf einem guten Weg
Gibt es dann eine Alternative für strtotime, die genau das Gleiche bewirkt, aber den String nicht in einen TIMESTAMP umwandelt?
Denn mit dem Ergebnis bin ich ja wie gesagt an anderer Stelle zufrieden.
Das mit dem count habe ich jetzt übrigens geändert.
__________________
Herzlichst, euer Markus

http://www.studio-bewertungen.de/
http://www.uni-bewertungen.de/
Marki87 ist offline   Mit Zitat antworten
Alt 10.07.2008, 18:47   #8
TP-Moderator
 
Benutzerbild von maxi89
 
Registriert seit: Nov 2004
Ort: Wuppertal
maxi89 lebt für das TP und seine Usermaxi89 lebt für das TP und seine Usermaxi89 lebt für das TP und seine Usermaxi89 lebt für das TP und seine Usermaxi89 lebt für das TP und seine Usermaxi89 lebt für das TP und seine Usermaxi89 lebt für das TP und seine User
Nochmal für mich:

Habe ich das richtig verstanden, du hast das Datum als Timestamp in der Datenbank stehen?
Warum um alles in der Welt, willst du dann den Timestamp in einen Timestamp konvertieren?! Das ist ja so, als wollte ich eine grüne Wand im gleichen Grün neu anstreichen, weil mir die Farbe nicht gefällt...
Nimm einfach date(), wie du es jetzt hast und setze die Variable direkt ohne strtotime() ein.
__________________
Chuck Norris darf während der Fahrt mit dem Busfahrer sprechen!
maxi89 ist offline   Mit Zitat antworten
Alt 10.07.2008, 20:58   #9
TP-Senior
 
Registriert seit: Jul 2007
Ort: Bobingen
Marki87 ist auf einem guten Weg
Wenn ich nur date() nehme,zeigt er mir das amerikanische Datumsformat an:
Das
PHP-Code:
<?php echo date($row_Detailabfrage_2['datum']); ?>
führt zu dem : 2008-07-06 17:41:55
Alles was ich will, ist eine europäische Datumsanzeige: 6.7.2008 17:41.
Das war mein Ziel.
Kannst du mir sagen, wie ich date() verwenden muss, um die europäische Version zu bekommen?
__________________
Herzlichst, euer Markus

http://www.studio-bewertungen.de/
http://www.uni-bewertungen.de/
Marki87 ist offline   Mit Zitat antworten
Alt 10.07.2008, 21:11   #10
TP-Insider
 
Benutzerbild von Guin
 
Registriert seit: Nov 2006
Ort: Lübeck
Guin hilft, wo's gehtGuin hilft, wo's gehtGuin hilft, wo's geht
Nabend,
ganz oben hast du date doch schon richtig benutzt.

Unter: http://de3.php.net/date kannst du dir die verschiedenen Formatierungsmoeglichkeiten ansehen.
Guin ist offline   Mit Zitat antworten
Alt 10.07.2008, 22:17   #11
TP-Moderator
 
Benutzerbild von Adromir
 
Registriert seit: Jun 2004
Ort: Hannover
Adromir lebt für das TP und seine UserAdromir lebt für das TP und seine UserAdromir lebt für das TP und seine UserAdromir lebt für das TP und seine UserAdromir lebt für das TP und seine UserAdromir lebt für das TP und seine User
Wär es nicht langsam mal Zeit, ein Vernünftiges PHP- Buch durchzuarbeiten, und dabei wenigstens die Grundlagen zu lernen?
__________________
Je größer der Deppenfaktor, desto gigantischer das Bescheidwissergefühl
-Dieter Nuhr
Adromir ist offline   Mit Zitat antworten
Alt 11.07.2008, 04:16   #12
TP-Moderator
 
Benutzerbild von Rizzo
 
Registriert seit: Aug 2004
Ort: Kaiserslautern
Rizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine User
http://www.traum-projekt.com/forum/1...-handling.html
Rizzo ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Komisches Datum bei strtotime( [PHP] Komisches Datum bei strtotime(
« MySQL Rückgabewert für Fehlermeldung verwenden | ordner passwort geschützt »

Stichworte
php

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
komisches Finanzamt Engelchen Recht & Co 5 02.01.2007 10:14
problem mit datumsberechnung [strftime/strtotime] theo Traum-Dynamik 11 02.11.2004 09:15
datum-selector auf das aktuelle datum setzen theo Traum-Dynamik 5 14.07.2003 19:52
Datum mit anderem Datum vergleichen - Differenz? Boris Traum-Dynamik 5 23.12.2001 21:11


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:41 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

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 36 37 38 39 40 41 42 43 44 45 46 47 48 49