#1 (permalink)  
Alt 27.02.2007, 16:00
Neuer Benutzer
 
Registriert seit: 25.05.2004
Beiträge: 28
Standard Array mit for Schleife abarbeiten

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
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #2 (permalink)  
Alt 27.02.2007, 17:20
xt:Commerce Support Kunde
 
Registriert seit: 24.09.2005
Beiträge: 1.596
Standard

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
Code:
$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
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #3 (permalink)  
Alt 27.02.2007, 17:38
Neuer Benutzer
 
Registriert seit: 25.05.2004
Beiträge: 28
Standard

Hallo Ben,

verrätst du mir was ich ändern muss, die Auskommentierung habe ich einfach übersehen, tschuldigung.

Danke

Michael
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #4 (permalink)  
Alt 27.02.2007, 18:27
xt:Commerce Support Kunde
 
Registriert seit: 24.09.2005
Beiträge: 1.596
Standard

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
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #5 (permalink)  
Alt 27.02.2007, 18:52
Neuer Benutzer
 
Registriert seit: 25.05.2004
Beiträge: 28
Standard

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
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #6 (permalink)  
Alt 27.02.2007, 20:17
xt:Commerce Support Kunde
 
Registriert seit: 24.09.2005
Beiträge: 1.596
Standard

Hi Michael,

dann probiere mal diesen Code
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
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #7 (permalink)  
Alt 27.02.2007, 22:29
Neuer Benutzer
 
Registriert seit: 25.05.2004
Beiträge: 28
Standard

Hi Ben,

vielen vielen Dank.

Es funktioniert.

Michael
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
abarbeiten, array, schleife

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
"Wer ist Online"Wieso? Fehler: Variable passed to each() is not an array or object... Topis Admininterface 7 08.07.2011 11:55


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:53 Uhr.

Copyright © 2011 xt:Commerce GmbH / xt:Commerce International Ltd. - All Rights Reserved

xt:Commerce is a SafeCharge brand