Manfred: Falsche Berechnung mit Datum und Uhrzeit

Hallo ich habe ein Problem mit einem Script. Es gibt leider immer falsche Werte zurück. Leider komme ich nicht dahinter, was es hat.

Vielleicht kann mir jemand helfen.

Hier das Script:

--------------------------------------------------------------------

// Errechnen des Tageskontingent Verbrauches bisher
  // Alle Datensätze minus Datensätze aktuell
  $jahr = date("Y", time());
  $heute = date("Y-m-d", time());
  $diesesJahr = $Jahr .'-01-01';

$abfrage1 = mysql_query ("SELECT * FROM kontingente WHERE Mitarbeiternummer = '$user' AND Jahr = '$jahr'");
$reihen1 = mysql_num_rows($abfrage1);
   if ($reihen1 <= 0) {
    $kein_kontingent = 1;
   } else {
        while ($row1 = mysql_fetch_object ($abfrage1)) {
             $KmKontingent = ($row1-> KmKontingent);
             $TagKontingent = ($row1-> Tageskontingent);
           }
   }

$sql = "SELECT * FROM reiserechnung WHERE mitarbeiternummer='$user' AND datum <= '$heute' AND datum >= '$diesesJahr';";
$abfragetag = mysql_query($sql);
$reihentag = mysql_num_rows($abfragetag);
   if ($reihentag <= 0) {
   $taggesamt1 = 0;
   } else {
while ($row = mysql_fetch_object ($abfragetag)) {
     $datumtag = $row-> datum;
     $bistag1 = $row-> bis;
     $vontag1 = $row-> von;
      $i1 = mktime(substr($bistag1, 0, 2),substr($bistag1, 3, 2));
      $y1 = mktime(substr($vontag1, 0, 2),substr($vontag1, 3, 2));
      $t1 = ($i1 - $y1) / 60 / 60;

$kontotag2 = ($row-> konto);

$abfrage = mysql_query ("SELECT * FROM tagesgeld WHERE Stufe = '$stufe' AND Gueltig_ab <= '$datumtag' ORDER  BY Gueltig_ab DESC;");
$reihen = mysql_num_rows($abfrage);
   if ($reihen <= 0) {
      echo 'Fehler';
   } else {
        while ($row = mysql_fetch_object ($abfrage)) {
          if ($erstezeileStufe!='false') {
// Hier werden die Stunden als Zahl aus einer Tabelle geholt

$stundezahl1 = $row-> AbStundenEins;  // z.B.: 4 h
             $stundezahl2 = $row-> AbStundenZwei;  // 8 h
             $stundezahl3 = $row-> AbStundenDrei;  // 12 h

$erstezeileStufe='false';  // Es darf nur die erste Zeile genommen werden, da diese Zeile aktuell ist.
          }
        }
   }

$sqltag2 = "SELECT * FROM konten WHERE Nummer ='$kontotag2';";
                   $abfragetag2 = mysql_query($sqltag2);
                   while ($row = mysql_fetch_object ($abfragetag2)) {
                      if (($row-> tagVerbrauch) == '1') {  // Es dürfen nur Datensätze gerechnet werden wo tagverbrauch = 1 ist

// Ab hier habe ich Probleme
                                  if ($t1 < $stundezahl1) {
                                     $taggesamt1rechnen = $taggesamt1rechnen + 0.5;
                                  }
                                  if ($t1 > $stundezahl1 AND $t1 <= $stundezahl2) {
                                     $taggesamt1rechnen = $taggesamt1rechnen + 1;
                                  }
                                  if ($t1 > $stundezahl2) {
                                     $taggesamt1rechnen = $taggesamt1rechnen + 0 ;
                                  }
                      }

}

}
}
$taggesamt1 = $taggesamt1rechnen;

  1. Hallo,

    könnte es eventuell an dem hier liegen:

    // Errechnen des Tageskontingent Verbrauches bisher
      // Alle Datensätze minus Datensätze aktuell
      $jahr = date("Y", time());

    ^ klein geschrieben

    $heute = date("Y-m-d", time());
      $diesesJahr = $Jahr .'-01-01';

    ^ gross geschrieben

    mfg

    PHP_Dude