MySQL Datenbank für Zahlungsarten

...
@ice-breaker: Wie sieht das eigentlich allgemein aus, wenn man so etwas mittels dynamischem Funktionsaufruf macht? Verwerflich oder ist soetwas in Ordnung? (natürlich nur vom Standpunkt, dass man auf OOP verzichtet)

wie meinst du das denn genau mit den dynamischen funktionsaufrufen?

stumpi
 
Hi,

also geht es nur so, das ich zuerst ermittle, was is es für eine Zahlungsart und dann lese ich die Tabelle aus:

Code:
if ($row['zahlungsart'] == 'LASTSCHRIFT'){
    // Abfrage der Tabelle "Lastschrift"
}

Es geht doch einfacher.
Wenn du nicht jeden Zahlungsartsatz extra nachlesen willst, kannst du outer joins verwenden. Damit kannst du die Bestellung und die Zahlartinformationen in einem einzigen SQL Befehl einlesen.

Angenommen du hast 3 Tabelle: Bestellung (primary key : id), Lastschrift (foreign key : id), Rechnung (foreign key : id).

Code:
select b.*, l.info_l1, l.info_l2, r.info_r1, r.info_r2
from Bestellung b
       left outer join Lastschrift l on b.id = l.id
       left outer join Rechnung r on b.id = r.id
WHERE irgendwas

Liefert dir nun für jede Bestellung einen Satz. Abhängig von der Zahlungsart sind entweder die l.* oder die r.* Felder belegt. Es sind also die Felder einer Zahlungsart befüllt, während in diesem Satz alle Felder der anderen Zahlungsarten null sind.
Über die Zahlungsartinformation aus der Bestellung weißt du, welche Felder befüllt sein müssen. Damit steuerst du in deinem Code die Bearbeitungsvarianten für die unterschiedlichen Zahlungsarten. Dazu möchte ich aber nicht weiter eingehen, da das in diesem Thread ohnehin schon erörtert wurde.