Hi,
ich hatte die Frage so oder so ähnlich vor graumer Zeit schonmal gestellt, finde aber den Post nicht wieder. Seinerzeit hatte dedlfix mir geraten, die Bedingung nicht in die Query zu packen, was ich dann auch so machte. Aber ich bin nicht ganz zufrieden mit der Lösung, wenngleich sie erstmal korrekt arbeitet.
Abfrageteil: (Die Zahlen vor den mysql-Passagen stellen den Key im Ergebnisarray $row dar).
...
22 ADDDATE(m.mdatum, INTERVAL m.Faellig DAY),
23 ...
24 r.Storno
25 UNIX_TIMESTAMP(ADDDATE(r.rdatum , INTERVAL r.Faellig DAY)),
26 UNIX_TIMESTAMP(ADDDATE(m.mdatum, INTERVAL m.Faellig DAY)),
...
// Fälligkeit
if ( (empty($row[26])) || (is_null($row[26])) ) { // Wenn Tage addiert zu Mahnung leer, dann ...
$faelligkeit = $row[25]; // gilt Tage addiert auf RG-Datum
} else { // ansonsten gilt...
$faelligkeit = $row[26]; // Tage addiert auf Mahnung
}
if ($row[24] == 1) { // RG ist storniert oder gutgeschrieben
$mahnstufe = "-";
}
$faellig = 0;
if ( ($faelligkeit < time()) && ($row[23] != 1) && ($row[13] == 1) && ($row[24] != 1) ) {
// Hinweis, daß Mahnung fällig ist
$faellig = 1;
Arbeitet soweit ganz ok.
Aber:
Ich lasse das Ergebniss seitenweise anzeigen. Wenn ich nun ausschließlich die mahnfähigen Rechnungen anzeigen lassen will, dann zeigt mir mein EWeg immer noch bspw. 5 Seiten an, aber dann eben nur 3-4 Rechnungen je Seite, da ich diese ja erst innerhalb der while-Schleife beim durchgehen des $row-Arrays filtere.
Ich bräuchte also doch z.b. einen Weg, um den Filter (die Selektion) bereits in die Query zu legen.
?