Summe der aus DB eingelesenen Variablen berechnen

Begonnen von dobra, Januar 14, 2007, 11:39:55

« vorheriges - nächstes »

0 Mitglieder und 1 Gast betrachten dieses Thema.

dobra

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)

(ganz schüchterne Bitte um Hilfe)
mfG
dobra

cru

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

dobra

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 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
mfG
dobra

cru

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

dobra

Vielen vielen lieben Dank !!!

Darauf wäre ich sicher nicht alleine gekommen.

dobra
mfG
dobra

cru

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

dobra

#6
 :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.

mfG
dobra