Hallo,
ich habe wieder ein Problem wo ich nicht weiter weis.
Ich möchte gerne mittels (INTERVAL) Datensätze zwischen StartDatum und EndDatum ausgeben lassen. Dieses FifferenzDatum sollte genau 1 Monat sein.
Also z.B. User meldet sich am 15.02.2009 an, jetzt möchte ich gerne das er alle Datensätze [COLOR="Red"]im AKTUELLEN Monat[/COLOR], dem 15.06.2010 und dem 15.07.2010 aufgelistet bekommt. Ich habe es so einigermaßen hinbekommen aber das ist leider etwas zu ungenau. Ich habe die Tage von Anmeldedatum bis Heute durch 30.42 Tage geteilt. Und das ganze dann mittels CEIL gerundet. Diesen Wert habe ich dann in meinem SQLQuery genutzt. Nur leider ist diese Methode zu ungenau.
Gibt es dafür vielleicht eine bessere Möglichkeit?
Cu SusiSorglos
ich habe wieder ein Problem wo ich nicht weiter weis.
Ich möchte gerne mittels (INTERVAL) Datensätze zwischen StartDatum und EndDatum ausgeben lassen. Dieses FifferenzDatum sollte genau 1 Monat sein.
Also z.B. User meldet sich am 15.02.2009 an, jetzt möchte ich gerne das er alle Datensätze [COLOR="Red"]im AKTUELLEN Monat[/COLOR], dem 15.06.2010 und dem 15.07.2010 aufgelistet bekommt. Ich habe es so einigermaßen hinbekommen aber das ist leider etwas zu ungenau. Ich habe die Tage von Anmeldedatum bis Heute durch 30.42 Tage geteilt. Und das ganze dann mittels CEIL gerundet. Diesen Wert habe ich dann in meinem SQLQuery genutzt. Nur leider ist diese Methode zu ungenau.
Gibt es dafür vielleicht eine bessere Möglichkeit?
Code:
$sql = "SELECT DATEDIFF(NOW(), anmeldung) as differenz "; $sql .= "FROM `user` WHERE `id` = '123456789' LIMIT 1"; $query0 = mysql_query($sql, $db_connect); $diffmonat = mysql_fetch_row($query0); $calcmonat = ceil($diffmonat['0']/30.42-1); $sql = "SELECT *, "; $sql .= "DATE_FORMAT(anmeldung, '%d.%m.%Y - %H:%i') AS fanmeldung, "; $sql .= "DATE_FORMAT(indexend, '%d.%m.%Y - %H:%i') AS findexend, "; $sql .= "DATE_ADD(indexend, INTERVAL `ival` DAY) AS indexnext, "; $sql .= "DATE_ADD(anmeldung, INTERVAL ".$calcmonat." MONTH) AS startmonat, "; $sql .= "DATE_ADD(anmeldung, INTERVAL ".$calcmonat."+1 MONTH) AS endemonat, "; $sql .= "FROM user "; $sql .= "left join kunden ON kunden.id = user.id "; $sql .= " WHERE `user`.`id` = '123456789' LIMIT 1";
Kommentar