mkmarketing Posted February 27, 2007 Report Share Posted February 27, 2007 Hallo, ich komme nicht weiter und benötige eure Hilfe. Ich habe folgende Abfrage: $sql = "select products_price, products_tax, products_quantity from ".TABLE_ORDERS_PRODUCTS." where orders_id='".(int)$pap_order_id."'"; $pap_orders_total_query = xtc_db_query($sql); $pap_order_total = xtc_db_fetch_array($pap_orders_total_query); Wenn mehrere Produkte gekauft wurden wir mit folgender Schleife immer nur ein Produkt berechnet. $pap_orders_total = 0; //for ($i=0, $n=sizeof($pap_order_total['value']); $i<$n; $i++) { $pap_orders_total = (($pap_order_total['products_price'] * 100) / (100 + $pap_order_total['products_tax'])) * $pap_order_total['products_quantity']; //} $pap_orders_total= round(pap_orders_total, 2); $pap_total_value = $pap_orders_total; Wo liegt der Fehler? Michael Link to comment Share on other sites More sharing options...
buero-design Posted February 27, 2007 Report Share Posted February 27, 2007 Hi michael, Ist das ein Test, oder so? - Da ist keine Schleife. Die hast Du doch auskommentiert. Aber unabhängig davon gibt es weitere Ursachen: - Du fragst nur einen Datenbankwert ab - sizeof($pap_order_total['value']) wird Dir bei ersten Aufruf eine 1 zurückgeben, danach 0 - und spätestens nach dem $pap_orders_total = (($pap_order_total['products_price'] * 100) / (100 + $pap_order_total['products_tax'])) * $pap_order_total['products_quantity']; ist sowieso alles verloren... Ben Link to comment Share on other sites More sharing options...
mkmarketing Posted February 27, 2007 Author Report Share Posted February 27, 2007 Hallo Ben, verrätst du mir was ich ändern muss, die Auskommentierung habe ich einfach übersehen, tschuldigung. Danke Michael Link to comment Share on other sites More sharing options...
buero-design Posted February 27, 2007 Report Share Posted February 27, 2007 Hi Michael, leider ist mir aus Deinem Codeschnipsel nicht wirklich klargeworden, was Du überhaupt machen willst. Irgendwas mit dem Preis, scheint mir... Wenn Du mir erklärst, was Du machen willst, kann ich vielleicht helfen. Generell würde ich Dir aber dringend empfehlen, Dich PHP-mäßig ein bischen aufzuschlauen ;-) Ben Link to comment Share on other sites More sharing options...
mkmarketing Posted February 27, 2007 Author Report Share Posted February 27, 2007 Hallo Ben, ja gebe ich zu das mit PHP, werde ich wieder in Angriff nehmen. Also ich habe mir ein Affiliatescript gekauft, ist an sich sehr gut, leider berechnet es mir die Provisionen aus den Brutto VK-Preisen. Nutzt hierzu folgenden Code: $sql = "select value from ".TABLE_ORDERS_TOTAL. " where orders_id='".(int)$pap_order_id."'"; $pap_orders_total_query = xtc_db_query($sql); $pap_orders_total = xtc_db_fetch_array($pap_orders_total_query); $pap_total_value = $pap_orders_total['value']; Dieser Teil ist in der checkout_success eingebunden Dann habe ich mir gedacht nutze ich die for Schleife aus dem Affiliscript das es im Downloadbereich hier gibt. // fetch the net total of an order $affiliate_total = 0; for ($i=0, $n=sizeof($order->products); $i<$n; $i++) { $affiliate_total += (($order->products[$i]['price'] * 100) / (100 + $order->products[$i]['tax'])) * $order->products[$i]['qty']; } $affiliate_total = round($affiliate_total, 2); Kriege ich aber nicht hin. Also ich benötige eine Berechnung der mir aus der order_products-Tabelle alle Artikel ausliest die zu einer Bestellung gehören, hier bei benötige ich für die Berchnung den Preis die Anzahl und den Steuersatz. Ich weiß nicht wie unter XTC ein assoc baue. Falls du mir helfen könntest wäre ich echt dankbar. Michael Link to comment Share on other sites More sharing options...
buero-design Posted February 27, 2007 Report Share Posted February 27, 2007 Hi Michael, dann probiere mal diesen Code $pap_total_value = 0; $sql_query = xtc_db_query("select products_price, products_tax, products_quantity from ".TABLE_ORDERS_PRODUCTS." where orders_id='".(int)$pap_order_id."'"); while ($query_result = xtc_db_fetch_array($sql_query) ) $pap_total_value += (($query_result['products_price'] * 100) / (100 + $query_result['products_tax'])) * $query_result['products_quantity']; $pap_total_value = round(pap_total_value, 2); Ben Link to comment Share on other sites More sharing options...
mkmarketing Posted February 27, 2007 Author Report Share Posted February 27, 2007 Hi Ben, vielen vielen Dank. Es funktioniert. Michael Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.