Ankündigung

Einklappen
Keine Ankündigung bisher.

products_options_values BLOB

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    products_options_values BLOB

    Hi...
    wie bekomme ich die Daten da raus???
    Versuche gerade ein Script zu bauen welches...:

    bestellte Artikel nach Hesteller kategorisiert,
    diese dann nach Artikelnummern sortiert,
    die Mengen addiert,
    und diese dann per Knopfdruck an die Hersteller schickt.

    Also so eine Art Bestellschein für die Lieferanten.

    Nun mein Problem:
    Die Attribute spielen bei der Bestellung eine große Rolle.
    zb.: Farbe: rot || weiss
    Das sollte bei der Bestellung berücksichtigt werden!!
    Die Werte der Attribute stehen in der Datenbank unter orders_products_attributes unter products_options_values.
    Der Datentyp ist dort aber BLOB!

    Nun meine Frage: Wie bekomme ich den Inhalt dieses Feldes herraus?


    hier meine SQL Abfrage:


    Code:
    select p.products_model, pd.products_name, sum(op.products_quantity) as products_ordered,  m.manufacturers_name, opa.products_options, opa.products_options_values
          from orders_products op
          left join products_description pd
            on (pd.products_id = op.products_id )
          left join products p
            on (p.products_id = op.products_id)
          left join manufacturers m
            on (p.manufacturers_id = m.manufacturers_id)
          left join orders_products_attributes opa
            on (opa.orders_products_id = op.orders_products_id)
          where pd.language_id = '43' 
          group by pd.products_id, op.products_priced_by_attribute
          order by products_ordered DESC, products_name

    Das Ergebnis sieht schon sehr gut aus!!

    Ihr könnt es ja mal selber in 'phpmyadmin' testen... hehe
    Nur das Problem ist dass das eigendliche Attribut (zb Farbe = blau) im BLOB format ist und ich es nicht herraus bekomme.

    mfg Florian Brocker

    #2
    Code:
    SELECT p.products_model, pd.products_name, sum( op.products_quantity ) AS products_ordered, m.manufacturers_name, opa.products_options, opa.products_options_values
    FROM orders_products op
    LEFT JOIN products_description pd ON ( pd.products_id = op.products_id )
    LEFT JOIN products p ON ( p.products_id = op.products_id )
    LEFT JOIN manufacturers m ON ( p.manufacturers_id = m.manufacturers_id )
    LEFT JOIN orders_products_attributes opa ON ( opa.orders_products_id = op.orders_products_id )
    WHERE pd.language_id = '43'
    GROUP BY pd.products_id, op.products_priced_by_attribute, products_options_values
    ORDER BY products_ordered DESC , products_name

    Kommentar


      #3
      Es währe echt besser wenn ihr nicht alle auf einmal Antworten würdet!

      In dem ganzen Haufen von potenziellen Antworten finde ich mich nämlich nicht mehr zurecht.

      Kommentar


        #4
        blobs können leider NICHT mit einem select angezeigt werden
        darum: die blob-spalte in TEXT umwandeln
        oder:
        Code:
        DROP TABLE IF EXISTS `XYZ` ;
        
        CREATE TABLE `XYZ` (
        `orders_products_attributes_id` int( 11 ) NOT NULL AUTO_INCREMENT ,
        `orders_id` int( 11 ) NOT NULL default '0',
        `orders_products_id` int( 11 ) NOT NULL default '0',
        `products_options` varchar( 32 ) NOT NULL default '',
        `products_options_values` text,
        `options_values_price` decimal( 15, 4 ) NOT NULL default '0.0000',
        `price_prefix` char( 1 ) NOT NULL default '',
        `product_attribute_is_free` tinyint( 1 ) NOT NULL default '0',
        `products_attributes_weight` float NOT NULL default '0',
        `products_attributes_weight_prefix` char( 1 ) NOT NULL default '',
        `attributes_discounted` tinyint( 1 ) NOT NULL default '1',
        `attributes_price_base_included` tinyint( 1 ) NOT NULL default '1',
        `attributes_price_onetime` decimal( 15, 4 ) NOT NULL default '0.0000',
        `attributes_price_factor` decimal( 15, 4 ) NOT NULL default '0.0000',
        `attributes_price_factor_offset` decimal( 15, 4 ) NOT NULL default '0.0000',
        `attributes_price_factor_onetime` decimal( 15, 4 ) NOT NULL default '0.0000',
        `attributes_price_factor_onetime_offset` decimal( 15, 4 ) NOT NULL default '0.0000',
        `attributes_qty_prices` text,
        `attributes_qty_prices_onetime` text,
        `attributes_price_words` decimal( 15, 4 ) NOT NULL default '0.0000',
        `attributes_price_words_free` int( 4 ) NOT NULL default '0',
        `attributes_price_letters` decimal( 15, 4 ) NOT NULL default '0.0000',
        `attributes_price_letters_free` int( 4 ) NOT NULL default '0',
        `products_options_id` int( 11 ) NOT NULL default '0',
        `products_options_values_id` int( 11 ) NOT NULL default '0',
        `products_prid` tinytext NOT NULL ,
        PRIMARY KEY ( `orders_products_attributes_id` ) ,
        KEY `idx_orders_id_prod_id_zen` ( `orders_id` , `orders_products_id` )
        ) ENGINE = MYISAM DEFAULT CHARSET = latin1;
        
        INSERT INTO `XYZ`
        SELECT *
        FROM `orders_products_attributes` ;
        
        SELECT p.products_model, pd.products_name, sum( op.products_quantity ) AS products_ordered, m.manufacturers_name, opa.products_options, opa.products_options_values
        FROM orders_products op
        LEFT JOIN products_description pd ON ( pd.products_id = op.products_id )
        LEFT JOIN products p ON ( p.products_id = op.products_id )
        LEFT JOIN manufacturers m ON ( p.manufacturers_id = m.manufacturers_id )
        LEFT JOIN XYZ opa ON ( opa.orders_products_id = op.orders_products_id )
        WHERE pd.language_id = '43'
        GROUP BY pd.products_id, op.products_priced_by_attribute, products_options_values
        ORDER BY products_ordered DESC , products_name;
        eine temporäre tabelle XYZ anlegen (damit die original tabelle nicht verändert werden muss) & die abfrage auf diese tabelle (XYZ) beziehen

        oder via php lösen

        Kommentar


          #5
          Cool danke!!

          Hat funktioniert!!

          Jetzt brauche ich nur noch die Stelle an der die Attribute in genau diese Tabelle geschrieben werden damit ich meine Tabelle daran anhängen kann.

          Wenns geht...

          Danke

          Kommentar

          Info zu diesem Forenarchiv:
          Mit Release von 1.5.7 wurde die deutsche Zen Cart Version auf eine reine DIY-Lösung umgestellt.
          Für einen Support via Forum stehen keine personellen und zeitlichen Ressourcen mehr zur Verfügung.
          Dieses Supportforum bleibt im Nur-Lesen-Modus als Wissensarchiv noch online verfügbar.
          PM Funktionalität, Registrierung und Posten neuer Beiträge sind deaktiviert.
          Zugriff auf Anhänge in den Postings ist auch ohne Registrierung/Einloggen möglich.
          FAQ und Downloadbereich des Forums wurden in die neue umfangreiche Knowledgebase auf der zen-cart-pro.at Website übernommen.

          Das Development der deutschen Zen Cart Version geht wie bisher auf Github weiter.
          Wir werden auch weiterhin neue Versionen bereitstellen und die Onlinedokumentation/Knowledgebase aktualisieren.
          Fehler in der Software können auf Github als Issues gemeldet werden.
          Follow us
          aktuelle version
          Zen Cart 1.5.7h deutsch
          vom 15.04.2024
          [Download]
          Lädt...
          X