EKKi: Datumsvergleich

Beitrag lesen

Mahlzeit starkoch,

zu Anfang mal als Hinweis: FOTU ist nicht besser als TOFU - also lass es besser, OK?

//--------------------Abfrage der Kundendaten aus Datenbank----------//
$date_2 = date("Y-m-d",time());

Wozu das?

$abfrage = "SELECT IF (memo_date_1 < CURDATE(), 'x', ''),vorname, name, bearbeiter, kundennummer FROM kundenlogin ORDER BY memo_date_1 DESC";

Du solltest der Rückgabe der IF-Funktion einen Aliasnamen zuweisen, damit Du darauf zugreifen kannst.

//--------------------Datumsvergleich--------------------------------//
  if($date_2 > $row->memo_date_1)
  {
    $da1 = "x";
  }
  else
  {
    $da1 = "";
  }

Du brauchst in PHP keinen Datumsvergleich mehr - den führt doch die Datenbank für Dich durch. Du scheinst noch nicht begriffen zu haben, was Du überhaupt machst:

Du fragst die Datenbank nach mehreren Spalten. Die meisten davon existieren in irgendwelchen Tabellen. Als zusätzliche, berechnete Spalte lässt Du Dir das Ergebnis der Funktion IF() mit den passenden Parametern ausgeben. Wenn der Wert der Spalte memo_date_1 kleiner als das aktuelle Datum ist, steht in dieser berechneten Spalte (für die Du sinnvollerweise einen Aliasnamen vergeben solltest) der Wert 'x', wenn nicht ''. Diesen Wert kann Du dann einfach ausgeben - ohne irgendwelche Vergleiche in PHP oder sonstwo.

<td style="width: 100px; font-size:13px">$date_2, $da1, $row->memo_date_1</td>

Jetzt bringt er mir die Datensätze mit "x" jedoch ohne Ausgabe von memo_date_1

Natürlich. Schließlich liest Du diese Spalte auch gar nicht aus - also ist sie nicht im Ergebnis enthalten und kann somit nicht als Objektattribut behandelt werden.

Weiterhin solltest Du darauf achten, dass Du Variableninhalte kontextgerecht maskierst - in diesem Fall solltest Du Dir mal die Funktion htmlspecialchars() anschauen ...

MfG,
EKKi

--
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|