mal ein ganz vorsichtiges Hallo an den Support,
Bin mit meinen Projekt wieder ein großes Stück weitergekommen aber jetzt stehe ich vor einem - für mich noch unlösbaren Problem:
Wie kann ich die Summe der Variablen die ich mit ssp::db_update_orders($ordernr,"BONUS",$bonus)
in die DB geschrieben habe ermitteln?
Habe (ohne Erfolg) versucht, das Script aus der ssp-Doku (7.3 Artikelabhängige Versandkosten) anzupassen
<!--spmacro:module(Callback)
$summe = 0;
sub invoice_addpos {
for (my $i = 0 .. ++$i) {
my $wert = ssp::get_var_db('BONUS',$i);
$summe += $wert;
}
}
-->
<!--spmacro:module(psum)
# Gesamtsumme der Punkte
sub psum {
main::mprint(main::mprint($Callback::summe));
}
-->
aber mit __psum::psum__ wird nur "00" ausgegeben.
Sie könnten - wen Sie ein kleines bißchen Zeit übrig hätten - den richtigen Code sicher in 3 Minuten schreiben.
(ich hab's in 3 Tagen - und Nächten - nicht geschafft)
(http://www.woll-insel.at/Bilder/smiley/fragezeichen.gif) (ganz schüchterne Bitte um Hilfe)
Guten Morgen dobra,
eine kleine Frage vorab?
Wie genau und wo soll das Script benutzt werden?
Soll nur eine Spalte aus der Datenbank gelesen und deren Werte addiert werden?
mfg
cru
Hallo cru,
Das Script soll auf der "kundenkonto_bestellung_historie.html" Seite verwendet werden.
(zum anschauen http://www.woll-insel.at/cgi-bin/shop2/iboshop.cgi?show0 (http://www.woll-insel.at/cgi-bin/shop2/iboshop.cgi?show0) mit "test" - "test" einloggen)
Es soll die Summe alle Zahlen die in den (Auftrag - benutzerdefiniertes Feld) "BONUS"-Spalten des Kunden eingetragen sind, addiert werden.
Danke
dobra
So sollte es gehen:
<!--spmacro:module(spalte_addieren)
sub addiere {
my $summe = 0;
my $sql = qq | SELECT sum(BONUS) FROM "IHRE DB TABELLE" |;
if (ssp::readSQLData($sql, "SUMME") != -1){
$summe = ssp::get_var_db ("SUMME", 0);
main::mprint $summe;
}
-->
mfg
cru
Vielen vielen lieben Dank !!!
Darauf wäre ich sicher nicht alleine gekommen.
dobra
Nachtrag:
So werden, wie mir gerade auffällt, die Werte für alle Kunden addiert:
Wenn immer nur die Summe für den aktuellen Kunden berechnet werden soll muss die Abfrage folgendermaßen aussehen:
<!--spmacro:module(spalte_addieren)
sub addiere {
my $summe = 0;
my $kundennr = ssp::get_var_user("kudnennr");
my $sql = qq | SELECT sum(BONUS) FROM "IHRE DB TABELLE" WHERE USR='$kundennr' |;
if (ssp::readSQLData($sql, "SUMME") != -1){
$summe = ssp::get_var_db ("SUMME", 0);
main::mprint $summe;
}
-->
mfg
cru
:D Hurra - geschafft
Ein bißchen mußte ich noch herumprobieren - die WHERE-Bedingung hat bei mir nicht funktioniert aber jetz hab ich's
sub addiere {
my $index = $_[0];
my $kundennr = ssp::get_var_db("KUNDENNR",$index);
my $summe = 0;
my $sql = qq | SELECT sum(BONUS) FROM PY2_ORDERS WHERE KUNDENNR='$kundennr'|;
if (ssp::readSQLData($sql, "SUMME") != -1){
$summe = ssp::get_var_db("SUMME",0);
main::mprint $summe;
}
}
Nochmal ein GANZ GROSSES DANKE
Ohne Ihre Hilfe, wäre ich wahrscheinlich an diesem Problem gescheitert.