Ich fühl mich geehrt, dass du das extra für mich gemacht hast
Auch wenn es von meiner Seite eigentlich für alle sein sollte und von deiner sicher auch ist.
Chapeau, das ist echt nice, dass nun alles in einem file untergebracht ist.
Ich denke es funktioniert, aber der Weg zur Erkenntnis war sehr steinig und eigentlich hab ich grad richtig schlechte Laune, obwohl deine Lösung doch so gut ist.
Wo schaut man als erstes? Bei seinen eigenen Testbestellungen. Und genau da hat es nicht hingehauen. Exakt die gleichen Daten zu Adressen und Email in den Bestellungen haben auf einer admin/orders.php?page=1 6 Bestellungen angezeigt und auf der nächsten page=2 2 Bestellungen. Da fragt man sich dann natürlich was falsch läuft? Dann gibt man wie sonst bei der Suche den Namen oder die Email der Bestellung in der Adminsuche ein, um die Anzahl der Bestellungen herauszubekommen und findet kein Kundenkonto mit dem Namen oder Email. Dann kommt erstmal das unschöne Gefühl, dass irgendwas im Shop nicht funktioniert. Wenn man sich dann die DB und deinen Code zu Gemüte führt, dann kommt man drauf, dass die Adminsuche in der Tabelle customers sucht und dein Tool in der Tabelle orders. Das erklärt, warum man über die Suche den Namen nicht findet. Und irgendwann kommt man auch drauf, dass im eingeloggten Zustand und dann der Nutzung zu Testzwecken von Amazon Pay z.b., wo die Kundendaten extern übernommen werden für die Bestellung, in der Tabelle orders eine neue customers_id generiert wird, die nicht zu der des Admins in der Tabelle customers passt und in diese dann auch gar nicht in die Tabelle customers übertragen wird, sondern dann nur in Tabelle orders existiert. Über den zeitlichen Verlauf hat man dann scheinbar gleiche Testbestellungen, die aber unterschiedliche customers_id in der Tabelle orders haben. Nur wenn sie direkt nacheinander gemacht werden scheint die customers_id gleich zu bleiben und es kommt auf der einen Seite zu 6 Bestellungen und auf der anderen zu 2.
Ob man daraus jetzt etwas fürs Modul ableiten kann/sollte kann ich grad nicht sagen.
Bei allen normalen Bestellungen scheint es aber generell zu funktionieren.
Einzig was nicht ganz richtig ist, dass ein angelegtes Gast Konto ohne Bestellung die "Anzahl der Bestellungen" auch im 1 erhöht, obwohl keine Bestellung stattgefunden hat. Also es wird ein Gastkonto angelegt und nicht bestellt. Dann später wieder ein Gastkonto angelegt und bestellt und die Zahl hinter dem Namen ist eine 2 , obwohl nur eine Bestellung stattgefunden hat.
Ich bin übers WE auswärts und kann erst nächste Woche nochmal genauer testen. Bin ja jetzt gleich bei einer der ersten Testkonten gleich auf ein längeres Problem gestoßen, wofür dein Modul aber nichts kann. Dann kann ich auch mal die Parsetime vergleichen wenn man auch die Versandadresse als Suchkriterium nutzt in zwei Shops mit sehr unterschiedlicher Anzahl an Kunden.
Gruß Timm
EDIT: Wenn man die möglichen Performanceverluste mal ausblendet - Wäre es nicht sinnvoller in der Kundenadresse zu suchen statt in der Versandadresse? Ein Kunde mit der immer gleichen Kundenadresse (bis zu einem Umzug) kann jedes Mal eine andere Versandadresse angeben wie privat, Arbeit oder Packstation und das würde dann nicht zusammengezählt werden.