php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 15-05-2007, 14:09
Qorum
 Newbie
Links : Onlinestatus : Qorum ist offline
Registriert seit: May 2007
Beiträge: 5
Qorum ist zur Zeit noch ein unbeschriebenes Blatt
Standard Timestamp abrufen und auswerten

Ich grüße euch,

ich habe vorgestern mit PHP-MySql angefangen und habe mich durch das schattenbaum und zum Teil durch das quakenet Tutorial durchgearbeitet - super Sache! - und "programmiere mich gerade aus". Bitte habt deshalb Verständnis dafür, dass ich mich noch nicht so richtig auskenne und bei den Ein oder Anderen Fachbegriffen sicher meine Probleme haben werde - aber nun zu meinem Anliegen.

Nun mache ich gerade ein Newsscript, was an für sich bisher auch ganz gut funktioniert, nur bin ich jetzt - auf ein für mich - unlösbares Problem gestoßen.

Beim Eintragen der News wird im Hintergrund der timestamp ermittelt und in der Datenbank gespeichert (zuerst habe ich den Tag/Monat/Jahr/Uhrzeit in einzelne, seperate Spalten eingetragen). Ich möchte die News nun formatiert ausgeben (also in einer schönen Tabelle etc.) was auch Klasse funktioniert ABER:


Ich kann den Timestamp mit folgenden Befehl ausgeben:

<?php
$abfrage = "SELECT timestamp FROM testbank";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
echo $row->timestamp;
}

?>

Nun möchte ich aber ein vernünftiges Datum anzeigen lassen, denn mit dem Timestamp können ja die wenigsten etwas anfangen, also formatier und unterscheide in $datum und $uhrzeit mit folgendem Befehl:

$datum = date("d.m.Y",$timestamp);
$uhrzeit = date("H:i",$timestamp);


Ich benutze dafür einen ermittelten timestamp-Wert, den ich noch nicht habe und auch nicht bekomme - DAS ist mein Problem. Ich dachten an folgenden Lösungsweg, der jedoch auch nicht funktionierte:

$timestamp = $row->timestamp;

Ich möchte also beim EINTRAGEN der News die zeit unsichtbar als Timestamp in der MySql Datenbank speichern (das klappt ohne Probleme).
Ich möchte dann beim AUSGEBEN der eingetragenen Daten schön anzeigen und den Timestampwert in ein ansehnliches Format umwandeln.



So...
Erstmal hoffe ich, dass ich mich klar ausgedrückt habe und ihr wisst was mein Problem ist. Über Hilfe würde ich mich sehr freuen - und bitte habt nachsehen, auch wenn sich die Frage für euch etwas blöde anhört


Machts gut,
Qorum
Mit Zitat antworten
  #2 (permalink)  
Alt 15-05-2007, 14:18
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Verwende doch die Time Date Feld Typen von MySql. Mit den entsprechenden MySql Fkt kannst du den Timestamp beim Eintragen feststellen lassen.
MySql speichert das Datum in der Form von 2007-05-15, welches du mittels eines
PHP-Code:
echo data('d.m.Y.',strtotime($timestamp_aus_db)); 
in die gewünschte Form bringen kannst.

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #3 (permalink)  
Alt 15-05-2007, 14:19
frankburian
 Guest
frankburian
Beiträge: n/a
Standard

versteh nicht ganz was du meinst!
Willst Du den aktuellen timestamp des eintrags ermitteln? wenn ja -> "time();"

Aber wenn du ihn hast, wie willst du ihn dann schöner ausgeben als wie mit date();

Ich selber speichere Zeitangaben immer als Timestamp (Int) ab, weil ich mit den Werten besser rechnen kann, ohne andere Funktionen nutzen zu müssen!
Mit Zitat antworten
  #4 (permalink)  
Alt 15-05-2007, 14:24
ministry
 PHP Junior
Links : Onlinestatus : ministry ist offline
Registriert seit: Jun 2006
Ort: KI / KA
Beiträge: 965
ministry ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wenn es in der db ein MySQL-Timestamp sein soll, dann kannst du ihn mit SELECT UNIX_TIMESTAMP(timestamp) AS timestamp FROM testbank
auslesen.

Beim Eintragen kannst du einfach NOW() machen für den aktuellen Zeitpunkt, oder wenn du unixtimestamps hast und die abspeichern willst, dann mit FROM_UNIXTIME(" . $timestamp . ").

Mysql-Timstamps und Unixtimestamps(die z.B. date() benötigt) unterscheiden sich.
__________________
ich glaube
Mit Zitat antworten
  #5 (permalink)  
Alt 15-05-2007, 14:32
Qorum
 Newbie
Links : Onlinestatus : Qorum ist offline
Registriert seit: May 2007
Beiträge: 5
Qorum ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ok, habe mich anscheinend wirklich falsch ausgedrückt


Also erstmal weiß ich, wie man ein Datum formatieren kann date() usw, was ich aber NICHT weiß, wie ich sowas mit einem bereis gespeicherten Timestampwert mache.

BEISPIEL:
1.) Ich trage eine News ein, und der Timestamp dieses Eintrages wird in der Datenbank unter "timestamp" gespeichert.

2.) Ich möchte diese Daten nun ausgeben, weiß aber nicht wie ich jetzt den Timestampwert formatieren kann.

PHP-Code:
$abfrage "SELECT timestamp FROM testbank";   $ergebnis mysql_query($abfrage);   
while(
$row mysql_fetch_object($ergebnis))   
{   
echo 
$row->timestamp;   

Bei der Variante kriege ich dann zwar den 10stelligen Zahlencode sehen, aber habe doch keine Möglichkeit mehr ihn in ein Datum umzuwandeln ..


@ Jahlives
Ich möchte aber den Timestampwert errechnen, damit ich später daraus den Wochentag (Montag, Dienstag usw) errechnen lassen kann.
Bisher habe ich das Datum auch in einer sauberen Form gespeichert, dass erscheint mir aber als sehr unflexibel


@frankburian
Zitat:
Ich selber speichere Zeitangaben immer als Timestamp (Int) ab, weil ich mit den Werten besser rechnen kann, ohne andere Funktionen nutzen zu müssen!
Genau! Und jetzt sag mir doch bitte, wie du diesen gespeicherten Timestampwert aus der DB ausließt und im nachhinein mit ihm rechnest - DAS ist meine eigentlich Frage



Danke aber für eure Antworten, auch wenn ich es umständlich beschreibe - wir kommen noch zu einer Lösung!


Qorum


Edit:
@ ministry
Danke, ich glaube das ist die Antwort die ich gesucht habe - ich werde es nachher gleich mal ausprobieren. Ich wusster gar nicht, dass es zwei verschiedene Timestampformate gibt, dazu werde ich mich gleich mal belesen

Geändert von Qorum (15-05-2007 um 14:36 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 15-05-2007, 14:43
frankburian
 Guest
frankburian
Beiträge: n/a
Standard

PHP-Code:
$abfrage "SELECT timestamp FROM testbank";   $ergebnis mysql_query($abfrage);   
while(
$row mysql_fetch_array($ergebnis) )   
{   
echo 
date("d.m.Y H:i",$row['timestamp']);   

rechnen:

PHP-Code:
$abfrage "SELECT timestamp FROM testbank";   $ergebnis mysql_query($abfrage);   
while(
$row mysql_fetch_array($ergebnis) )   

  
$ts $row['timestamp'];
echo 
'Ein tag zurück'.($ts-86400);



// hier kommt man richtg unterdruck mit dem schnellen antworten, so das man faselfehler macht

Geändert von frankburian (15-05-2007 um 14:47 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 15-05-2007, 14:44
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also wenn dein Timestamp ein Integer Wert (Unix Timestamp) in der DB ist dann
PHP-Code:
$zeiten = array();
$sql "SELECT timestamp FROM table";
$res myslq_query($sql);
while(
$re=mysql_fetch_array($res)){
  
$zeiten[] = date('d.m.Y',$re['timestamp']);

eine entsprechende Abfrage an die DB, Resultat auslesen und die Daten formatieren

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #8 (permalink)  
Alt 15-05-2007, 14:57
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von frankburian
Ich selber speichere Zeitangaben immer als Timestamp (Int) ab, weil ich mit den Werten besser rechnen kann, ohne andere Funktionen nutzen zu müssen!
Kurzsichtig - sobald du Datumsoperationen bereits DB-seitig ausführen willst - müssen nicht mal "Berechnungen" sein, eingeschränkte Selektion nach Daten, Guppierung nach Monat/Jahr, etc. reichen aus - fährst du mit den Datentypen der DB besser.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #9 (permalink)  
Alt 15-05-2007, 15:30
Qorum
 Newbie
Links : Onlinestatus : Qorum ist offline
Registriert seit: May 2007
Beiträge: 5
Qorum ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Soo,

danke für die vielen Antworten, es funktioniert jetzt wie ich es will UND ich bin um einiges schlauer!

Wenn ich wieder eine Frage haben sollte, komme ich zu euch!


Ein dankender,
Qorum
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

Formmailer v1.6.1 Bootstrap 4

Formmailer v1.6.1 Bootstrap wurde extra für Bootstrap entwickelt. Mit Bootstrap kann man schnell und einfach kleine oder große Projekte entwickeln, die auf Geräten in allen erdenklichen Formen funktionieren.

18.12.2018 arne-home | Kategorie: PHP/ Formular
HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

10.12.2018 Berni | Kategorie: MYSQL/ Management
piwik Open-Source Webanalyse-Software ansehen piwik Open-Source Webanalyse-Software

piwik ist eine gute Alternative zu Google Analytics. Viele Features und ein modernes Erscheinungsbild mit aussagefähigen Statistiken in Echtzeit

10.12.2018 phpler | Kategorie: PHP/ Besucherzaehler
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:15 Uhr.