Jump to content
xt:Commerce Community Forum

Array mit for Schleife abarbeiten


mkmarketing

Recommended Posts

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

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

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

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

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

Archived

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

×
  • Create New...