Shopsystem ShopPilot

ShopPilot => SSP - Shop Server Pages => Thema gestartet von: dobra am Januar 14, 2007, 11:39:55

Titel: Summe der aus DB eingelesenen Variablen berechnen
Beitrag von: dobra am Januar 14, 2007, 11:39:55
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)
Titel: Re: Summe der aus DB eingelesenen Variablen berechnen
Beitrag von: cru am Januar 15, 2007, 08:44:04
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
Titel: Re: Summe der aus DB eingelesenen Variablen berechnen
Beitrag von: dobra am Januar 15, 2007, 08:55:18
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
Titel: Re: Summe der aus DB eingelesenen Variablen berechnen
Beitrag von: cru am Januar 15, 2007, 10:39:09
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
Titel: Re: Summe der aus DB eingelesenen Variablen berechnen
Beitrag von: dobra am Januar 15, 2007, 10:44:41
Vielen vielen lieben Dank !!!

Darauf wäre ich sicher nicht alleine gekommen.

dobra
Titel: Re: Summe der aus DB eingelesenen Variablen berechnen
Beitrag von: cru am Januar 15, 2007, 10:47:25
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
Titel: Re: Summe der aus DB eingelesenen Variablen berechnen
Beitrag von: dobra am Januar 15, 2007, 20:25:07
 :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.