Werbung / Banner buchen
Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Eine Frage zu einer query

    karl

    • Schreiberling
    • Beiträge: 439
    Eine Frage zu einer query
    am: 15. Mai 2012, 19:17:39
    Brauche hier mal php-logig-hilfe!

    Unten im code wurde (aus der account.php) zusätzlich TABLE_ORDERS_TRACKING mit t.ortra_order_id, t.ortra_parcel_id und als Ausgabe weiter unten,  'ORDER_TRACKING' => $orders['ortra_parcel_id'] eingebaut.

    Funktioniert soweit aber es werden nur noch Bestellungen angezeigt mit hinterlegter Paketnummer.
    Denke der Teil " and t.ortra_order_id = o.orders_id " gibt die falsche Zuweisung. Die Bestellungen sollen immer angezeigt werden (so wie im original) und die Paketnummern wenn vorhanden.

    Kann man so eine Abfrage integrieren?

    Code: PHP  [Auswählen]
        $order_content = '';
        if (xtc_count_customer_orders() > 0) {
         
                $orders_query = xtc_db_query("select
                                                  o.orders_id,
                                                  o.date_purchased,
                                                  o.delivery_name,
                                                  o.delivery_country,
                                                  o.billing_name,
                                                  o.billing_country,
                                                  ot.text as order_total,
                                                  s.orders_status_name,
                                                  t.ortra_order_id, t.ortra_parcel_id
                                         from "
    .TABLE_ORDERS." o,
                                              "
    .TABLE_ORDERS_TOTAL." ot,
                                              "
    .TABLE_ORDERS_STATUS." s,
                                              "
    .TABLE_ORDERS_TRACKING." t
                                              where o.customers_id = '"
    .(int) $_SESSION['customer_id']."'
                                              and o.orders_id = ot.orders_id
                                              and t.ortra_order_id = o.orders_id  
                                              and ot.class = 'ot_total'
                                              and o.orders_status = s.orders_status_id
                                              and s.language_id = '"
    .(int) $_SESSION['languages_id']."'
                                              order by orders_id desc limit 3"
    );
         
                while ($orders = xtc_db_fetch_array($orders_query)) {
                        if (xtc_not_null($orders['delivery_name'])) {
                                $order_name = $orders['delivery_name'];
                                $order_country = $orders['delivery_country'];
                        } else {
                                $order_name = $orders['billing_name'];
                                $order_country = $orders['billing_country'];
                        }
                        $order_content[] = array ('ORDER_ID' => $orders['orders_id'], 'ORDER_DATE' => xtc_date_short($orders['date_purchased']), 'ORDER_STATUS' => $orders['orders_status_name'], 'ORDER_TOTAL' => $orders['order_total'], 'ORDER_TRACKING' => $orders['ortra_parcel_id'], 'ORDER_LINK' => xtc_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id='.$orders['orders_id'], 'SSL'), 'ORDER_BUTTON' => '<a href="'.xtc_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id='.$orders['orders_id'], 'SSL').'">'.xtc_image_button('small_view.gif', SMALL_IMAGE_BUTTON_VIEW).'</a>');
                }
         
        }


     


    Linkback: https://www.modified-shop.org/forum/index.php?topic=20055.0
    Managed Server

    Matt

    • Experte
    • Beiträge: 4.241
    Re: Eine Frage zu einer query
    Antwort #1 am: 15. Mai 2012, 23:29:54
    Du willst die Tabellen mit einen LEFT OUTER JOIN verknüpfen. Hat mit php jetzt nix zu tun.

    karl

    • Schreiberling
    • Beiträge: 439
    Re: Eine Frage zu einer query
    Antwort #2 am: 16. Mai 2012, 00:00:25
    Hallo Matt,
    du als Experte sprichst jetzt nicht so meine Sprache!
    Die Kurzfassung habe ich nicht wirklich verstanden. Ist doch ein php-code, oder nicht? Obwohl hier ja eine sql-Abfrage gemacht wird.

    Aber egal, weiß nicht ob das eine LEFT OUTER JOIN sein muß/soll!
    Keine Ahnung wie das geht, deshalb frage ich ja!

    Kannst Du mal die Lösung posten? :-)

    Matt

    • Experte
    • Beiträge: 4.241
    Re: Eine Frage zu einer query
    Antwort #3 am: 16. Mai 2012, 09:22:12
    Unabhängig davon, ob es in einer php-Datei steht findet dein Problem auf der MySQL-Ebene statt, da dir MySQL erst gar nicht die Datensätze zurückgibt, die du eigentlich willst.

    Code: PHP  [Auswählen]
    $orders_query = xtc_db_query("SELECT
      o.orders_id,
      o.date_purchased,
      o.delivery_name,
      o.delivery_country,
      o.billing_name,
      o.billing_country,
      ot.text as order_total,
      s.orders_status_name,
      t.ortra_order_id, t.ortra_parcel_id
    FROM ("
    .TABLE_ORDERS." o,
      "
    .TABLE_ORDERS_TOTAL." ot,
      "
    .TABLE_ORDERS_STATUS." s)
    LEFT OUTER JOIN
      "
    .TABLE_ORDERS_TRACKING." t
    ON
      t.ortra_order_id = o.orders_id
    WHERE o.customers_id = '"
    .(int) $_SESSION['customer_id']."'
      and o.orders_id = ot.orders_id
      and ot.class = 'ot_total'
      and o.orders_status = s.orders_status_id
      and s.language_id = '"
    .(int) $_SESSION['languages_id']."'
    ORDER BY orders_id desc limit 3"
    );

    karl

    • Schreiberling
    • Beiträge: 439
    Re: Eine Frage zu einer query
    Antwort #4 am: 18. Mai 2012, 19:11:41
    Hallo Matt,
    und wie das funktioniert!!! :mrgreen:

    Auf die Idee mit LEFT OUTER JOIN bin ich nicht gekommen, da ich diese Funktion irgendwie anders in Erinnerung hatte. Kennst Du eine Seite wo das "für dummys" erklärt wird?

    Und eigentlich fehlt hier sowas in der Wiki.

    jannemann

    • modified Team
    • Beiträge: 6.275
    • Geschlecht:
    Re: Eine Frage zu einer query
    Antwort #5 am: 18. Mai 2012, 23:25:16
    Hallo karl,

    jeder kann in das Wiki rein schreiben. Stell doch mal eine Liste mit wichtigen SQL-Befehlen ins Wiki ein.

    Schöne Grüße,
    Jan

    karl

    • Schreiberling
    • Beiträge: 439
    Re: Eine Frage zu einer query
    Antwort #6 am: 19. Mai 2012, 00:18:56
    Das werde ich dann wohl auch machen. Wenn ich mit meinem Template fertig bin.

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.240
    • Geschlecht:
    Re: Eine Frage zu einer query
    Antwort #7 am: 19. Mai 2012, 08:22:29
    Vielleicht liesst besser mal die Links in meiner Signatur.

    Gruss Gerhard

    karl

    • Schreiberling
    • Beiträge: 439
    Re: Eine Frage zu einer query
    Antwort #8 am: 19. Mai 2012, 19:34:27
    Ja doch kenne ich. Dachte nur da gibt es irgendwo leichtere Kost um da erstmal rein zu kommen.

    vr

    • modified Team
    • Beiträge: 2.664
    Re: Eine Frage zu einer query
    Antwort #9 am: 19. Mai 2012, 23:12:25
    Wir können hier ja eine Ecke für SQL-Rätsel aufmachen. Das wird sicher lustig. Habt ihr Interesse? 8-)

    Grüße, Volker

    karl

    • Schreiberling
    • Beiträge: 439
    Re: Eine Frage zu einer query
    Antwort #10 am: 20. Mai 2012, 00:10:04
    Als "nicht coder" finde ich so vieles rätselhaft! :-o
    Mach mal offen das Teil. :blower:
    6 Antworten
    2519 Aufrufe
    04. Februar 2016, 14:58:10 von Bonsai
    2 Antworten
    2052 Aufrufe
    04. Oktober 2013, 14:51:15 von karl
    4 Antworten
    3316 Aufrufe
    05. Februar 2013, 22:11:35 von NMWorkwear
               
    anything