Wie finde ich alle Bestellungen zu einem bestimmten Artikel

Thema wurde von clems, 7. Februar 2019 erstellt.

  1. clems
    clems Erfahrener Benutzer
    Registriert seit:
    11. Juli 2011
    Beiträge:
    185
    Danke erhalten:
    6
    Danke vergeben:
    31
    Hallo Zusammen,
    gibt es irgendwo die Möglichkeit Bestellungen nach einem bestimmten Artikel zu filtern, welche dann Bestellnummern, Rechnungsnummer und den Kundennamen der Bestellungen ausgibt?
    Grüße
     
  2. Dennis (MotivMonster.de)
    Dennis (MotivMonster.de) G-WARD 2013/14/15/16
    Registriert seit:
    22. September 2011
    Beiträge:
    31.303
    Danke erhalten:
    6.268
    Danke vergeben:
    1.118
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    Xycons hat so eine SQL abfrage in seinem Modul
    (Link nur für registrierte Nutzer sichtbar.)

    teilweise könnte es auch Mannis Zahlenwunder umsetzen. Müsste man Manni mal fragen ob er das einbaut oder schon hat.
     
  3. Dennis (MotivMonster.de)
    Dennis (MotivMonster.de) G-WARD 2013/14/15/16
    Registriert seit:
    22. September 2011
    Beiträge:
    31.303
    Danke erhalten:
    6.268
    Danke vergeben:
    1.118
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    Ah und Falls denen ne Mail schicken willst (Kunden) mit (Link nur für registrierte Nutzer sichtbar.)Newsletter Pro geht das auch über selektion das bestimmte Produkt Käufer eine Mail bekommen.
    Kann sogar automatisiert werden. z.B. 3 Wochen nach Kauf von Produkt XYZ Mail mit Info das bald wahrschenlich neues brauchst. Oder jemand kauf Produkt wo es zuubehör gibt, dann kannst paar Tage später ne vorbereitete Mail mit den Zubehör schicken lassen.
     
  4. clems
    clems Erfahrener Benutzer
    Registriert seit:
    11. Juli 2011
    Beiträge:
    185
    Danke erhalten:
    6
    Danke vergeben:
    31
    Habs zusammengefummelt, aber geht viel besser wenn man das verknüpfen könnte, das übersteigt allerdings meine Kenntnisse. Im SQL-Tool:

    select * from `orders_products` where products_id='WERT'

    und dann mit den orders_id aus den Ergebnissen

    select * from `orders where orders_id='WERT1' OR orders_id='WERT2' OR orders_id='WERT3' .....
     
  5. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    20. November 2015
    Beiträge:
    1.517
    Danke erhalten:
    314
    Danke vergeben:
    1.218
    Oder, wenn Du immer eine Bestellbestätigung in Kopie bekommst, einfach in Deinem Mailprogramm nach den Mails suchen, in denen der Artikel bestellt wurde.
     
  6. Developer
    Developer Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    3.145
    Danke erhalten:
    716
    Danke vergeben:
    127
    Oder via Plugin direkt aus dem Adminbereich. Nach Artikelnummer oder Produktnamen. :)
     
  7. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    5. April 2017
    Beiträge:
    1.424
    Danke erhalten:
    339
    Danke vergeben:
    163
    ... oder per ODBC mit Excel ...
     
  8. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    19. Juni 2012
    Beiträge:
    4.831
    Danke erhalten:
    1.125
    Danke vergeben:
    947
    Code:
    select orders.orders_id, orders.customers_name, invoice_number, 
    products_name, orders.customers_firstname, orders.customers_lastname, 
    products.products_model from orders_products
    left join orders on orders.orders_id = orders_products.orders_id
    left join products on orders_products.products_id = products.products_id
    left join invoices on invoices.order_id = orders.orders_id
    where products.products_model = 'gesuchteartikelnr';
     
  9. Kodi
    Kodi Erfahrener Benutzer
    Registriert seit:
    21. April 2012
    Beiträge:
    65
    Danke erhalten:
    7
    Danke vergeben:
    38
    #9 Kodi, 22. September 2024
    Zuletzt bearbeitet: 22. September 2024
    Hallo Clems,
    mich hat diese Frage letztens auch beschäftigt.
    Letztendlich habe ich mir selbst ein Script erstellt.

    Auf dieser Seite gibt es ein Script, um seine Kundendaten zu exportieren.
    Die Anleitung dazu, wie das zu implementieren ist ect. kann man daraus entnehmen.
    https://www.agentur-schoelzke.de/sd...tieren-ihrer-kundendaten-aus-dem-gambio-shop/

    Das Script daraus habe ich wie folgt umgeschrieben:

    PHP:
    <?php
        
    // Verbindung zur Datenbank herstellen
        
    $host "localhost";
        
    $user "User Name eintragen";
        
    $password "Passwort eintragen";
        
    $dbname "DB Name eintragen";

       
    $conn mysqli_connect($host$user$password$dbname);

        
    // Abfrage vorbereiten und ausführen
        
    $query "SELECT
                    orders.orders_id,
                    orders.date_purchased,
                    orders.customers_name,
                    orders.customers_company,
                    orders.customers_firstname,
                    orders.customers_lastname,
                    orders.customers_telephone,
                    orders.customers_city,
                    orders.customers_postcode,
                    orders.customers_email_address,
                    orders.delivery_name,
                    orders.delivery_street_address,
                    orders.delivery_city,
                    orders.payment_method,
                    orders.gambio_hub_module_title,
                    orders_products.final_price,
                    products.products_model,
                    orders_products.products_name,
                    orders_products.products_quantity,
                    group_concat(orders_products_properties.properties_name SEPARATOR ' * '),
                    group_concat(orders_products_properties.values_name SEPARATOR ' * '),
                    products.products_ordered
                

                    FROM
                        orders
                        JOIN orders_products ON orders_products.orders_id = orders.orders_id
                        JOIN products ON orders_products.products_id = products.products_id
                        JOIN orders_products_properties ON orders_products.orders_products_id = orders_products_properties.orders_products_id
                    
                                
                        WHERE
                            orders_products.products_model LIKE '%hier zu suchenden Artikel eintragen%'
                        
                            Group BY
                                orders.orders_id,
                                orders.date_purchased,
                                orders.customers_name,
                                orders.customers_company,
                                orders.customers_firstname,
                                orders.customers_lastname,
                                orders.customers_telephone,
                                orders.customers_city,
                                orders.customers_postcode,
                                orders.customers_email_address,
                                orders.delivery_name,
                                orders.delivery_street_address,
                                orders.delivery_city,
                                orders.payment_method,
                                orders.gambio_hub_module_title,
                                orders_products.final_price,
                                products.products_model,
                                orders_products.products_name,
                                orders_products.products_quantity,
                                products.products_ordered"
    ;
                        
                                                                    
                                
    $result mysqli_query($conn$query);

        
    // CSV-Datei erstellen und Daten schreiben
        
    $file fopen('abfragen_artikel.csv''w');

        
    //Spaltennamen
        
    $column_names = array("Bestellnummer",
                                
    "Bestelldatum",
                                
    "Name",
                                
    "Company",
                                
    "Vorname",
                                
    "Nachname",
                                
    "Telefonnummer",
                                
    "Stadt",
                                
    "Postleitzahl",
                                
    "Email Adresse",
                                
    "Versand Name",
                                
    "Versand Strasse",
                                
    "Versand Stadt",
                                
    "Bezahlmethode",
                                
    "Bezahlmethode02",
                                
    "Endpreis Kunde",
                                
    "Produkt ID",
                                
    "Produktname",
                                
    "Anzahl gleicher Artikel",
                                
    "Varianten Name",
                                
    "Varianten",
                                
    "Gesamtanzahl Verkäufe");
                            
        
    fputcsv($file$column_names'|');
     
        while (
    $row mysqli_fetch_assoc($result)) {
            
    fputcsv($file$row'|');
        }

        
    fclose($file);
        
    mysqli_close($conn);

        
    // Erfolgsmeldung ausgeben
        
    echo "Der Export wurde erfolgreich abgeschlossen!";
    ?>
    Solltest Du andere Daten brauchen, kann man das natürlich anpassen.
    Aber das waren so die grundlegenden Kundendaten, die uns helfen.

    Anzumerken sei, dass du den LIKE Operator auch weglassen kannst, wenn du die exakte Artikel ID kennst, die du suchst.
    Die % Zeichen sind dort Platzhalter.
    Unsere Datenbank ist nicht besonders groß und das Script funktioniert so gut.
    Sollte die Anfrage für dich zu lange dauern, kann man das effizienter gestalten.
    Aber das ist eher Kosmetik.

    Zur weiteren Erklärung, die Spalte "Anzahl gleicher Artikel" gibt an, wenn eine Bestellung mehrere Artikel von dem Gesuchten beinhaltet und diese exakt die gleichen Varianten haben.
    Sind es Unterschiedliche Varianten, sind diese in den nächsten beiden Spalten aufgelistet.
    Diese müsste man dann manuell zusammenzählen, damit man weiß, wie viele Artikel mit unterschiedlichen Varianten pro Bestellung insgesamt bestellt wurden.


    Achte immer darauf, wie in der Anleitung beschrieben, die zwei Dateien, (php und die csv Datei) immer wieder direkt zu löschen.
    Sonst sitzen ungeschützt Kundendaten auf dem Server.
    Oder wie beschrieben, kannst du natürlich auch einen passwortgeschützten Ordner erstellen.

    Ich hoffe das hilft auch dem ein oder anderen.

    Die Tabelle sieht dann etwa so aus wie im Bild.
    upload_2024-9-22_11-19-33.png

    Grüße, Marko
     
  10. Kodi
    Kodi Erfahrener Benutzer
    Registriert seit:
    21. April 2012
    Beiträge:
    65
    Danke erhalten:
    7
    Danke vergeben:
    38
    Hier zur Sicherheit noch mal die Anleitung der Website oben, falls sie offline ginge:

    Voraussetzungen:

    • PHP 5.6 oder höher
    • MySQL-Server
    • Zugriff auf die MySQL-Datenbank
    Anleitung:

    • Download des Skrips von diese Seite
    • Entpacken des Ordners
    • Bearbeiten Sie die enthaltene Datei. In den Zeilen 3 bis 6 hinterlegen Sie Ihre Datenbank Zugangsdaten.
    • Laden Sie die Datei auf Ihren Server am Besten in das Shop Root Verzeichnis
    • Den Pfad danach aufrufen, warten bis die Bestätigung kommt „Der Export wurde erfolgreich abgeschlossen!“
    • jetzt finden Sie in Ihre Shop root Verzeichnis eine Datei namens export.csv
    • zum Schluss nicht vergessen alle beide Dateien auf dem Server wieder zu löschen.
    Wer das öfter benutzen möchte, kann das ganze auch in einen mit Passwort geschützten Ordner packen.