SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 02.12.2012, 14:37:42
Creepy Creepy ist offline
Anfänger
 
Registriert seit: Dec 2012
Alter: 64
Beiträge: 3
php-DateInterval in mysql umrechnen

Hallo Gemeinde

In einer MySql Tabelle stehen in einer Spalte verschiedene php-Dateinterval Werte.

z.B.
10000 20000 P3M 40000
12500 43678 P1M10D 50000

Kann man diese irgendwie per mysql in einem Query auf unixtime umrechnen?
Google gibt dazu leider nichts genaues her.

Vielen Dank schon mal fpr eure Tips!
Mit Zitat antworten
  #2  
Alt 02.12.2012, 18:41:30
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: php-DateInterval in mysql umrechnen

Zitat:
Zitat von Creepy Beitrag anzeigen
Google gibt dazu leider nichts genaues her.
Auch Google kann nicht hellsehen, wie Deine Tabelle strukturiert ist und was sie für Daten beherbergt.
Mit Zitat antworten
  #3  
Alt 02.12.2012, 19:09:22
Creepy Creepy ist offline
Anfänger
 
Registriert seit: Dec 2012
Alter: 64
Beiträge: 3
AW: php-DateInterval in mysql umrechnen

Hallo meikel

Tut mir leid, wenn ich mich etwas ungenau ausgedrückt habe.

In der Tabelle steht eine Spalte "Startzeit" als Unixtimestamp und eine Spalte "DateInterval" als Laufzeitintervall (ähnlich wie im Beispiel: P1M10D = 1 Monat 10 Tage).

Jetzt würde ich gerne, unter Umgehung von php, direkt im mxsql-Query die "Startzeit + DateInterval = Ablaufzeit" als zusätzliche Unixtime-Spalte "Ablaufzeit" ausgeben lassen, ähnlich wie z.B. mit der eingebauten Funktion "FROM_UNIXTIME(`xyz`) as Datum" bei Unixtime->Date.

Das DateInterval sollte also nach Unixtime konvertiert werden können und dann mit der Startzeit addiert werden.
Aus Startzeit + P3M soll also z.B. 1351879884 + 7776000 werden (Startzeit + 3 Monate Intervall).
Mit Zitat antworten
  #4  
Alt 02.12.2012, 23:58:24
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: php-DateInterval in mysql umrechnen

Zitat:
Zitat von Creepy Beitrag anzeigen
Tut mir leid, wenn ich mich etwas ungenau ausgedrückt habe.
Du drückst Dich immer noch ungenau aus:
1. wie sieht das CREATE TABLE der Tabelle aus?
2. ein paar Datensätze als INSERT INTO.

Zitat:
In der Tabelle steht eine Spalte "Startzeit" als Unixtimestamp und eine Spalte "DateInterval" als Laufzeitintervall (ähnlich wie im Beispiel: P1M10D = 1 Monat 10 Tage).
Warum versteifst Du Dich denn nur auf die UNIX-Sekundenzählerei? MySQL kennt seit Urzeiten den Datentyp DATETIME und liefert dazu auch noch einen Sack voll mächtiger SQL Funktionen.
Zitat:
Aus Startzeit + P3M soll also z.B. 1351879884 + 7776000 werden (Startzeit + 3 Monate Intervall).
Code:
UPDATE tabelle SET end_datum = date_add(start_datum, INTERVAL 3 MONTHS) WHERE  dies = das;
So oder so ähnlich...
Mit Zitat antworten
  #5  
Alt 04.12.2012, 05:53:08
Creepy Creepy ist offline
Anfänger
 
Registriert seit: Dec 2012
Alter: 64
Beiträge: 3
AW: php-DateInterval in mysql umrechnen

Zitat:
Zitat von meikel Beitrag anzeigen
Du drückst Dich immer noch ungenau aus:
1. wie sieht das CREATE TABLE der Tabelle aus?
2. ein paar Datensätze als INSERT INTO.

Warum versteifst Du Dich denn nur auf die UNIX-Sekundenzählerei? MySQL kennt seit Urzeiten den Datentyp DATETIME und liefert dazu auch noch einen Sack voll mächtiger SQL Funktionen.

Code:
UPDATE tabelle SET end_datum = date_add(start_datum, INTERVAL 3 MONTHS) WHERE  dies = das;
So oder so ähnlich...
Die Tabelle ist so vorgegeben und kann nicht geändert werden. Warum das Intervall im php-Format geschrieben wurde, darfst du mich nicht fragen. Das hätte ich sicher von vornherein anders gemacht.
Es soll nur ein einfaches SELECT sein, kein UPDATE oder INSERT.

Dein Beispiel mit dem UPDATE ist ok, und das date_add kenne ich auch.
Nur würde ich gerne eine Konvertierung zwischen P3M und INTERVAL 3 MONTH haben, die auch noch dazu flexibel sein muss z.B. bei Einträgen wie P1M2WT7H37S.

Um bei deinem Beispiel zu bleiben, suche ich soetwas wie

Code:
UPDATE tabelle SET end_datum = date_add(start_datum, KONVERT_TO_INTERVAL(P1M2WT7H37S))
WHERE  dies = das;

oder eben per Unix Sekunden Addition

UPDATE tabelle SET end_datum = start_datum + KONVERT_TO_UNIXTIME(P1M2WT7H37S)
WHERE  dies = das;
Mit Zitat antworten
  #6  
Alt 04.12.2012, 13:55:22
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: php-DateInterval in mysql umrechnen

Ich bedauere es schon, daß ich mich zu dem Thema geäußert habe. <grrr>
Zitat:
Zitat von Creepy Beitrag anzeigen
Die Tabelle ist so vorgegeben und kann nicht geändert werden.
Dann erschieß den Trottel. Solche Projekte gehören in die Tonne.
Zitat:
Warum das Intervall im php-Format geschrieben wurde, darfst du mich nicht fragen.
Wen sonst?
Zitat:
Das hätte ich sicher von vornherein anders gemacht.
Es soll nur ein einfaches SELECT sein, kein UPDATE oder INSERT.
Mit dem Unixtimestamp gibts nur Probleme. Besonders bei kritischen Daten:
Umstellung der Sommer-/Winterzeit, in Schaltjahren, bei der Monatsberechnung mit Beteiligung des Monats Februar, beim Jahreswechsel, bei der Ermittlung der Wochennummer usw.

Zitat:
Dein Beispiel mit dem UPDATE ist ok, und das date_add kenne ich auch.
Dann nutze es doch:
FROM_UNIXTIME(unix_timestamp), FROM_UNIXTIME(unix_timestamp,format)

Zitat:
Nur würde ich gerne eine Konvertierung zwischen P3M und INTERVAL 3 MONTH haben, die auch noch dazu flexibel sein muss z.B. bei Einträgen wie P1M2WT7H37S.
Der Schwachfug nimmt kein Ende.
Zitat:
Um bei deinem Beispiel zu bleiben, suche ich soetwas wie
Code:
UPDATE tabelle SET end_datum = date_add(start_datum, KONVERT_TO_INTERVAL(P1M2WT7H37S))
WHERE  dies = das;
Räum die Tabelle auf. So ein proprietäres stumpfsinniges Gewusel hat in einer relationalen Datenbank nix zu suchen. Und wenn Dir irgend ein besser bezahlter Angestellter sowas einreden will, dann schick den mal hier vorbei, damit wir dem DAU mal das Handbuch vorlesen.

Das wars - ich bin weg.
Mit Zitat antworten
Antwort


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

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP/ MYSQL Lernen, aber wie Newby PHP Grundlagen 1 30.03.2008 15:17:29
MySQL Abfrage mit PHP darstellen? Trivio MySQLi/PDO/(MySQL) 1 18.07.2007 20:05:13
Mysql eingave sprict php / ODBC Treiber Problem bei Access tak47 MySQLi/PDO/(MySQL) 0 28.08.2006 13:00:19
installationspfade (php & mysql) jan99 PHP Grundlagen 24 16.06.2006 09:37:31
PDF mit PHP und MySQL erstellen Sladi PHP für Fortgeschrittene und Experten 3 10.04.2004 18:02:06


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:38:30 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt