php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
Alt 31.05.2011, 10:27  
Benutzer
 
Registriert seit: 12.06.2009
Beiträge: 48
PHP-Kenntnisse:
Fortgeschritten
Pixelschubser ist zur Zeit noch ein unbeschriebenes Blatt
Standard MYSQL - Komplexe Zeitberechnung

Guten Tag,

ich quäle mich mal wieder mit einer etwas komplexerer SQL-Berechnung. Und zwar habe ich eine Tabelle in der ein Rechnungsdatum steht (Timestamp) und eine Garantiedauer in Monaten. Nun will ich eine Abfrage schreiben in der der aktuelle Timestamp und das Garantie-End-Datum verglichen wird.

Vereinfach sollte es etwa so aussehen:

Rechnungsdatum + Garantiedauer*60*60*24*30,4 > timestamp + (z.B. 1 Monat)

Kann mir da vielleicht jemand weiterhelfen?

Gruß
Samuel
Pixelschubser ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 31.05.2011, 10:31  
Erfahrener Benutzer
 
Benutzerbild von wolf29
 
Registriert seit: 17.03.2010
Beiträge: 1.833
PHP-Kenntnisse:
Fortgeschritten
wolf29 wird schon bald berühmt werdenwolf29 wird schon bald berühmt werden
Standard

Hi.

Schau mal hier:

http://www.teialehrbuch.de/Kostenlos...unktionen.html

was genau ist dein Problem jetzt?

mfg Wolf29
__________________
while (!asleep()) sheep++;

Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.
wolf29 ist offline   Mit Zitat antworten
Alt 31.05.2011, 10:33  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

ja .. und ? wo ist die spezielle Frage, gibts Fehlermeldungen ? Code-abschnitte wären auch hilfreich...

Hinweis:
Bitte beachte die Forenregeln. .. Ideen Konzepte Meinungsumfragen ?
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 31.05.2011, 10:47  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Du redest von einem Unix-Timestamp, den du als Integer gespeichert hast?

Das solltest du erst mal umstellen, auf eines der Datumsformate, das MySQL bereitstellt.

Berechnungen damit mit den Datums- und Zeitfunktionen von MySQL sind damit dann Kinderkram.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 31.05.2011, 10:53  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Zitat:
Zitat von ChrisB Beitrag anzeigen
Du redest von einem Unix-Timestamp, den du als Integer gespeichert hast?

Das solltest du erst mal umstellen, auf eines der Datumsformate, das MySQL bereitstellt.

Berechnungen damit mit den Datums- und Zeitfunktionen von MySQL sind damit dann Kinderkram.
Warum umstellen? Simpler als Timestamp gehts doch kaum noch...

Timestamp2 - Timestamp1 = Dauer (in Sek)
Timestamp1 + Dauer (in Sek) = Timestamp2
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 31.05.2011, 12:15  
Erfahrener Benutzer
 
Registriert seit: 03.08.2010
Beiträge: 1.143
PHP-Kenntnisse:
Anfänger
hausl wird schon bald berühmt werdenhausl wird schon bald berühmt werden
Standard

Zitat:
Zitat von ChrisB Beitrag anzeigen
...
Berechnungen damit mit den Datums- und Zeitfunktionen von MySQL sind damit dann Kinderkram.
zB Datum in s.Beginn + 1 Monat
PHP-Code:
... DATE_ADD(s.BeginnINTERVAL +1 MONTH) ... 
LG
__________________
Keine Zahl != ein Zeichen das keine Zahl ist
hausl ist offline   Mit Zitat antworten
Alt 31.05.2011, 21:38  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Warum umstellen? Simpler als Timestamp gehts doch kaum noch...

Timestamp2 - Timestamp1 = Dauer (in Sek)
Timestamp1 + Dauer (in Sek) = Timestamp2
Bitte nicht wieder diese Diskussion. Und „Dauer in Sekunden“ sagt eigentlich schon alles. Stichwort Schaltjahr, Stichwort Sommerzeit etc.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 10.06.2011, 14:25  
Benutzer
 
Registriert seit: 12.06.2009
Beiträge: 48
PHP-Kenntnisse:
Fortgeschritten
Pixelschubser ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Entschuldigung, wenn ich das Thema wieder hoch hole. Ich hatte die ganze Geschichte in MYSQL geschrieben, nun brauch ich es aber in MSSQL. Find leider weniger zu dem Thema.

Das Feld hat folgenden zweck. Ein Eingabefeld übergibt eine Monatszahl (z. B. 12). Die SQL-Abfrage soll alle Geräte anzeigen, bei denen die Garantie in den nächsten 12 Monaten ausläuft. Ist die "Monatszahl" vierstellig (z.B. 2012), wird nach allen Geräten gesucht, deren Garantie im Jahr 2012 endet.
PHP-Code:
$date preg_replace("/[^0-9]/"""$searchby);

if(
strlen($searchby) == 4) { // Wenn Datum eine Jahreszahl ist
  
$sql.= "WHERE DATE_FORMAT(FROM_UNIXTIME(r_date+garantie*60*60*24*30.425), '%Y')=".$date;  
} else {
  
$sql.= "WHERE UNIX_TIMESTAMP()<((r_date)+(garantie)*60*60*24*30.4375)"
  
$sql.= "AND UNIX_TIMESTAMP()>((r_date)+((garantie-".$date.")*60*60*24*30.4375))";  

Vielleicht weiß ja jemand, was mssql hier nicht schluckt.
Pixelschubser ist offline   Mit Zitat antworten
Alt 10.06.2011, 14:53  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

UNIX_TIMESTAMP, DATE_FORMAT, FROM_UNIXTIME kennt MSSQL nicht.

http://msdn.microsoft.com/en-us/library/ms186724.aspx
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 10.06.2011, 14:59  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

ohje, remember: DateTime is a God. Pray and believe!

Code:
... WHERE
         DATE_ADD( CAST(r_date AS DATE), INTERVAL 12 MONTH ) ... CAST('{$date}' AS DATE )
         ...
brech dir nich die Finger, derweil du da mit punkt vor strich Rechnung auch noch zu kämpfen hast..

Ich hab länger nicht in mysql mit cast gearbeitet, falls der timestamps so nicht frisst musst du da nochmal mit einem inneren CAST dran. Die Bedingungsstellung des Queries überlass ich mal dir

CAST ist SQL ( mssql: http://msdn.microsoft.com/en-us/libr...v=sql.80).aspx , mysql: http://dev.mysql.com/doc/refman/5.1/...functions.html )
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
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
Mysql funktioniert nicht (Erweiterung nicht erkannt!?) pfump Server, Hosting und Workstations 10 17.03.2012 11:07
Mysql Server startet nicht mehr Nicolas2006 Datenbanken 2 20.03.2011 16:03
PHP Zugriff auf MySQL Community Server gewähren daemonTutorials Datenbanken 8 21.02.2011 12:28
MySQL Datentransfer (Dateigroesse 4MB) via Shell Zugang oder einfacher promoterlv Datenbanken 1 14.11.2010 22:12
[Erledigt] PHP bekommt keine Verbindung zu MySQL SaKe Datenbanken 15 20.09.2010 14:45
Mysql fehler bei externen Zugriff SteiniKeule Datenbanken 4 18.06.2010 12:54
Lerne Grundlagen | Quellensammlung cycap PHP Einsteiger 0 12.11.2008 16:23
[Erledigt] MySQL - ERROR 1044 bei erstellen einer Datenbank _youngenterpriser_ Datenbanken 2 05.02.2008 17:56
Mysql Server Einstellunen Optimieren pchero Datenbanken 3 01.05.2007 19:50
Schnittstelle zwischen PHP und MySQL klappt net !!! Datenbanken 16 16.10.2005 14:24
[Erledigt] not allowed to connect to this MySQL server PHP Tipps 2005-2 2 23.09.2005 18:34
MySQL &amp;amp; PHP: Problem mit Password() Datenbanken 10 19.09.2005 11:00
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
MYSQL läuft nur wenn /tmp auf 777 Datenbanken 5 06.07.2005 08:38
mysql root passwort vergessen Datenbanken 1 29.05.2005 11:33

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql zeitberechnung, mysql berechnungen, mysql werktage, mysql zeitspanne, mysql werktage berechnen, mysql zeitspanne berechnen, mysql datum der erste eines monats, sql zeitberechnung, mysql timestamp zeit rechnung, zeitberechnung php mysql, php sql zeitintervall berechnen, mysql zeitdifferenz ermitteln, mysql cast as dauer, mysql zeitspanne@berechnen, zeitfunktionen php als rechnung, mysql berechnungen timestamp, sql php zeitdifferenz berechnen, zeit berechnung php, sql komplexe zeitperioden rechnen, php mysql zeitberechnung

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:54 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum