php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Kleines Kassenbuch-Problem ...


 
Innuendo
10-10-2003, 19:26 
 
Hallo an alle.

Ein Kunde von mir beglückte mich heute mit einer MySQL-Tabelle, die für ein kleines PHP-Kassenbuch von ihm als Datenspeicher herhalten muss. "Alles schon und gut, ich kann meine Einnahmen und Ausgaben in die Datenbank sichern. Aber jetzt möchte ich doch gerne, dass am Ende jeder Spalte logischerweise der kulmulierte (also Einnahmen minus Ausgaben plus den vorherigen Bestand) Bestand nach Eingabe eines Vorgangs steht", sprach der Kunde und stiefelt voller Erwartung von dannen.

Nun mein Problem: Wie setze ich das um?

Er hat sein "Kassenbuch" folgendermaßen geschrieben:

In einem Formular wählt er zuerst mittels <select>-Feld die Art des Vorgangs aus (also entweder "Einnahme" oder "Ausgabe"). Dann gibt er den Bruttobetrag ein und klickt logischerweise auf "Vorgang sichern".
Die Art des Vorgangs wird in der Spalte "vorgang" (VARCHAR 20) gesichert, der Betrag in der Spalte "betrag" (DECIMAL 9,2). Nun kann der Kunde in der HTML-Tabelle sehen, was er gerade eingegeben hat (natürlich inklusive aller schon vorhandenen Vorgänge).

Ich habe mir folgendes überlegt:
1. Einen Anfangsbestand (z.B. 0) in der Variable $argStrKulmBestand festlegen.
2. Den Datensatz auslesen und überprüfen, ob es eine Einnahme ist. Wenn ja, diesen Betrag in die Variable $argStrEinnahme sichern. Wenn nicht, die Variable $argStrEinnahme mit "0" füllen.
3. Den gleichen Datensatz überprüfen, ob es eine Ausgabe ist. Wenn ja, diesen Betrag in die Variable $argStrAusgabe sichern. Wenn nicht, die Variable $argStrAusgabe mit "0" füllen.
4. Nun folgendes errechnen lassen: $argStrKulmBestand = ($argStrEinnahme - $argStrAusgabe) + $argStrKulmBestand;
5. Den Inhalt von $argStrKulmBestand einfach ausgeben.
6. Das ganze wieder von vorne, bis der letzte Datensatz ausgelesen ist.

Wäre das ein guter Weg? Danke im Voraus für jeden guten Tipp.

Innuendo

 
MelloPie
10-10-2003, 19:36 
 
Sorry, aber wenn Du bei solchen Problemen Hilfe aus dem Forum brauchst, dann lass das mit den Kunden lieber.

 
Innuendo
10-10-2003, 20:16 
 
Wie bist Du denn drauf? Schlecht geschlafen? Nur, weil ich es nicht gleich sofort so perfekt beherrsche wie Du, soll ich einen Kunden laufen lassen?

Mann mann mann, am besten, ich überlege mir beim nächsten Mal, ob ich hier überhaupt was fragen sollte. :rolleyes:

 
MelloPie
10-10-2003, 20:45 
 
Schlecht drauf nicht, ich frage mich nur, wie Du einen Kundenwunsch erfüllen willst wenn Du nicht mal zwei Summen ohne Hilfe bilden kannst.

Btw. nervt es, wenn Leute Aufträge annehmen, egal ob Sie sie bewältigen können oder nicht und dann die Lösung hier im Forum suchen.

So einfach ist das.

 
TobiaZ
12-10-2003, 10:06 
 
Dito: Gleiche meinung.

Hättest vielleicht erst mal im Kopf durchgehen sollen, was da zu machen ist.

BTW: Hatte bis jetzt eigentlich schon nen guten Eindruck von dir.

 
Happy Nihilist
12-10-2003, 12:34 
 
Was hackt ihr denn alle so auf ihm rum?
Er hat doch nicht direkt nach einer Lösung gefragt, er hat eine vorgeschlagen, und fragt, ob es evtl. bessere bzw. saubere Wege gibt. Meine Güte.

@ Innuendo:
Meiner Meinung nach der sauberste Weg, mach es so. Nur, wenn das Kassenbuch wirklich sehr lang ist, solltest du es Seitenweise mit zum Beipiel 30 Datensätzen pro Seite ausgeben.

 
Innuendo
12-10-2003, 15:47 
 
@MelloPie: Für wie blöd hälst Du mich? Habe ich geschrieben, dass ich nicht zwei Summen bilden kann? Meine Frage war, ob meine Überlegung richtig durchdacht war oder nicht. Da interessiert es mich herzlich wenig, ob DICH das Thema unterfordert. Die Lösung zu meinem Problem habe ich übrigens schon umsetzen können, es funktioniert wunderbar und der Kunde ist zufrieden.

@TobiaZ: Was ich für einen Eindruck von Dir habe, behalte ich lieber für mich. *schmunzel* Was den Kundenauftrag betrifft: Ich bin nicht doof im Kopf und weiß, was ich kann und was ich nicht kann. Immerhin wieder was dazu gelernt.

@Happy: Schon erledigt. :D

 
MelloPie
12-10-2003, 17:15 
 
@innuendo joa bei sonem Miniproblem gleich mal im Forum posten und dann den Profi raushängen lassen.

 
Innuendo
12-10-2003, 21:45 
 
Wer soll ein Profi sein? Ich? Noch lange nicht. Ich habe nur einen Kundenwunsch erfüllt. Würde ich das nicht tun, könnte ich meine Firma gleich wieder schließen.

Es mag ja für Dich ein Miniproblem sein. Ich habe lediglich nach einer Möglichkeit gesucht, mein Problem umzusetzen. Wenn Dich solche Probleme unterfordern, tust Du mir echt leid, MelloPie. Und sowas schimpft sich dann "Profi". :rolleyes:

Wer diesen Thread schließen oder mich verwarnen möchte, kann das gerne tun.

 
TobiaZ
12-10-2003, 21:48 
 
Wer diesen Thread schließen oder mich verwarnen möchte, kann das gerne tun. hat ja keiner vor, wieso auch!

Verwunderlich ist es dennoch!

 
Innuendo
12-10-2003, 21:54 
 
Was ist daran verwunderlich, ein Problem im sogenannten "Brainstorming-Forum" zu posten? Wäre es euch lieber, dass es hier nur Problemeanfragen gibt, die nur die "Experten" hier lösen können und nicht so ein "dummer PHP-Anfänger" wie ich? Anscheinend habt ihr nicht den Thread richtig durchgelesen. Ich wollte nicht wissen, wie man einen kulmulierten Bestand errechnet.

Traurige Entwicklung, die hier stattfindet. Am besten wäre es, ich frage beim nächsten Mal nur noch bei richtig schweren Sachen hier an. :rolleyes:

 
TobiaZ
12-10-2003, 22:04 
 
Am besten wäre es, ich frage beim nächsten Mal nur noch bei richtig schweren Sachen hier an. Herausforderungen sind immer willkommen.

BTT: bis auf die Variablen-namen hast du schon nen guten weg gewählt. Wir haben auch eigentlich nichts gegen noob-fragen (die man nicht mit der suche beantworten kann). Aber wenn solche Fragen von jemanden gestellt werden, der das ergebnis später verkauft, bzw. bereits verkauft hat, dann ist da wohl irgendwo ein fehler.

 
Innuendo
13-10-2003, 09:22 
 
Ich habe überhaupt nichts verkauft. Nur weil das Unternehmen schon mein Kunde war, heißt das nicht im Geringsten, dass ich für diesen Kunden eine PHP-Kassenbuch-Lösung entwickelt habe. Er war es, der mit einer schon vorhandenen Lösung auf mich zugekommen ist und diese jetzt verfeinert haben wollte.

Ist ja auch egal jetzt. Eine Diskussion sollte man hier nicht vom Zaun brechen. Dazu ist man ja nicht "Profi" genug. :rolleyes:

 
Deathrow
03-04-2004, 15:34 
 
wie ich das sehen, musste nur ($row->Einnahmen)-($row->ausgaben); nehmen.


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:10 Uhr.