Gegen Bilderklau - Das Original (https://www.gegen-bilderklau.net/index.php)
- Design, Website, Copyright (https://www.gegen-bilderklau.net/board.php?boardid=80)
--- Homepagehilfe (https://www.gegen-bilderklau.net/board.php?boardid=27)
---- Homepagehilfe - Archiv (https://www.gegen-bilderklau.net/board.php?boardid=139)
----- [PHP & MySQL] Überweisungen durchführen (https://www.gegen-bilderklau.net/thread.php?threadid=175964)
Geschrieben von nymphy am 03.10.2010 um 17:05:
Überweisungen durchführen
Huhu
Ich bin jetz soweit ^^
Ich habe eine mitgliederdatenbank und eine Transferdatenbank. Das eintragen klappt prima. Doch wie mache ich jetz dass die transaktionen auch wirkung zeigen? also das der jeweilige betrag ab und auf gerechnet wird?
in der mitgliederdatenbank gibt es die Zeile "geld"
und in der bank gibt es die
Transaktionsnummer, die ID wer es geschickt hat, ID vom Empfänger, einen Betrag und den Grund.
nun soll der Betrag von "geld" bei ID 1 abgezogen und bei ID 2 aufgerechnet werden.
ich brauche bestimmt noch sowas wie ein geld_neu oder so? weil ich will ja vorher und nacher auch anzeigen lassen (später dann beim abrufen wo dann grund und so steht)
Geschrieben von nymphy am 09.10.2010 um 14:04:
*hust*
kann mir denn niemand einen Gedanken anstoß geben ?
Geschrieben von kext am 09.10.2010 um 14:45:
Du brauchst gar kein neues Feld. Der Kontostand ist in den Transaktionen bereits gespeichert. Du musst ihn also nur noch auslesen.
Kontostand ohne Transaktionen:
code: |
1:
|
SELECT `geld` FROM `mitglieder` WHERE `id` = '1337' |
|
Plus eingegangene Überweisungen:
code: |
1:
|
SELECT SUM(`betrag`) AS `eingang` FROM `transaktionen` WHERE `empfaenger` = '1337' GROUP BY `empfaenger` |
|
Minus ausgegangene Überweisungen:
code: |
1:
|
SELECT SUM(`betrag`) AS `ausgang` FROM `transaktionen` WHERE `sender` = '1337' GROUP BY `sender` |
|
Der aktuelle Kontostand beträgt dann
Geld + Eingang - Ausgang.
Statt 1337 muss da natürlich die ID vom User rein.
Geschrieben von nymphy am 09.10.2010 um 15:07:
ai danke

werd gleich mal rumbasteln und einbauen ^^
edit
ich möchte das konto ja als eigene seite für jedes mitglied machen.. wie bekomm ich denn das auf jede seite ?
also es gibt ja 2 tabellen - mitglieder und bank
und bei der generellen abfrage nach einer auflistung
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
|
<?php
include "connect.inc.php";
$id = $_GET['id'];
$abfrage = "SELECT `geld` FROM `mitglieder` WHERE `id` = $id";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_assoc($ergebnis))
{
echo "
$row[name] - $row[rang] - $row[geld] ";
}
?> |
|
kommt
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /users/allertal/www/welcome/kontoausgabe.php on line 7
Geschrieben von kext am 09.10.2010 um 21:19:
Der Fehler bedeutet, dass deine Abfrage nicht erfolgreich war. Näheres findest du mittels
echo mysql_error(); heraus.
Ganz abgesehen davon können in
$_GET['id'] auch völlig sinnlose oder sogar gefährliche Werte drinstehen (
SQL-Injections). Solche Variablen müssen unbedingt vorher geprüft werden. Du kannst dazu
mysql_real_escape_string() oder
intval() benutzen.
Geschrieben von nymphy am 10.10.2010 um 12:36:
Der sagt mir dann das
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Geschrieben von kext am 10.10.2010 um 13:55:
$id ist leer, da $_GET['id'] leer ist. Du hast dem Script keinen Wert übergeben. Wandle $id per intval() in eine Zahl um, und der Fehler wird verschwinden.
php: |
1:
|
$id = intval($_GET['id']); |
|
Außerdem hast du die einfachen Anführungszeichen in der Query vergessen.
Geschrieben von nymphy am 10.10.2010 um 14:10:
Hm
ach das klappt nich wie ich mir das vorstelle

is ja auch total dumm..
Ich möchte das jeder ein Konto erhält
also mit jeder neuen Anmeldung wird eine neue Seite erstellt wo die Kontodaten drauf sind.
Bzw. das jede vorhandene Anmeldung auch so eine Seite erhält.
Nur weiß ich nicht wie :S
Forensoftware: Burning Board, entwickelt von WoltLab GmbH