Jump to content
xt:Commerce Community Forum

Attributes_model-query


Novalis

Recommended Posts

Hallo,

ich versuche gerade mittels aller m?glichen Werte an das 'attributes_model' heranzukommen bei einer Bestellung... Ich exportiere halt alle Bestellungen in eine andere Anwendung, und daher stehen in 'attributes_model' die Bestellnummern f?r das Produkt mit den gew?hlten Attributen... jetzt m?chte ich statt der 'Haupt-Bestellnummer' die Attribut-Bestellnummer ?bermitteln... das funktioniert auch alles soweit, nur bekomme ich das nicht hin das zu spezifizieren dass es getrennt ist nach Kunde und Produkt... wenn also 2 Kunden das gleiche bestellen, wird zwei mal die gleiche Attribut-Bestellnummer ?bermittelt, und wenn ein Kunde ein Produkt mehrmals bestellt mit unterschiedlichen Attributen funzt die Trennung auch noch nicht richtig :-(

Meine Query dazu sieht momentan so aus:


 	//attribut-Bestellnummern zur pid

 	for ($atpid=1;$atpid <= $produktzaehler;$atpid++)

 	{

 	$attributquery = 'SELECT pa.attributes_model ';

 	$attributquery .= 'FROM customers c, orders o, address_book a, orders_products op, orders_products_attributes opa, products_attributes pa ';

 	$attributquery .= 'WHERE c.customers_id = a.customers_id AND c.customers_id = o.customers_id ';

 	$attributquery .= 'AND o.orders_id = ' . $id . ' AND op.orders_id = ' . $id . ' ';

 	$attributquery .= 'AND op.products_id = ' . $data[$i]['produkt'][$atpid] . ' ';

 	$attributquery .= 'AND opa.orders_id = ' . $id . ' ';

 	$attributquery .= 'AND pa.products_id = ' . $data[$i]['produkt'][$atpid] . ' ';

  	$attributquery .= 'AND pa.products_id = op.products_id ';

 	$attributquery .= 'AND op.orders_products_id = opa.orders_products_id';


 	$attrmod = mysql_query($attributquery); 


   	while ($attrmodels = mysql_fetch_row($attrmod))

   	{

   	foreach ($attrmodels as $atm)

    {

    //debug

    //echo 'Zeilen :' . mysql_num_rows($attrmod) . '<br>';

    //echo 'Produkt-Attr-ID :' . $atm . '<br>';

    if (sizeof($data[$i]['produkt']['a'. $atpid])>0)

     {  

      for ($k=0;$k<sizeof($data[$i]['produkt']['a'. $atpid]);$k++)

     {

     //debug

     //echo 'k: ' . $k . '<br>';

     $data[$i]['produkt']['apid' . $atpid][$k] = $atm;

     }

    	}

    }

   	}

 	}

Na ich hoffe da steigt jemand durch =) - ich schicke sonst auch gern die komplette Datei r?ber... wenn's funzt ist k?nnt ihr's eh als Hack haben... mir raucht nur gerade der Kopf :wall:

Gru?,

Nov

Link to comment
Share on other sites

Hab's gefunden... ist aber fehlerhaft:

Datei: /inc/xtc_get_attributes_model


function xtc_get_attributes_model($attribute_name)

	{


	$options_value_id_query=mysql_query("SELECT

  products_options_values_id

  FROM products_options_values

  WHERE products_options_values_name='".$attribute_name."'");

	$options_value_id_data=mysql_fetch_array($options_value_id_query, MYSQL_ASSOC);


	$options_attr_query=mysql_query("SELECT

  attributes_model

  FROM products_attributes

  WHERE options_values_id='".$options_value_id_data['products_options_values_id']."'");

	$options_attr_data=mysql_fetch_array($options_attr_query, MYSQL_ASSOC);

	return $options_attr_data['attributes_model'];


	} 


Wenn mehrere Produkte die gleichen Attribute zugewiesen bekommen mit unterschdiedlichen model-Nummern liefert die Funktion fehlerhafte Model-Nummern... wenn jemand das korrigiert bitte hier reinschreiben, ich werd's wohl sonst auch bald haben hoffe ich, dann poste ich es hier.

Greetz,

Nov

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...