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] - (https://www.gegen-bilderklau.net/thread.php?threadid=176887)


Geschrieben von Startpost-Retter am 03.11.2010 um 16:19:

  -

-



Geschrieben von kext am 10.11.2010 um 12:47:

 

Probiers mal hiermit: Banksystem

Ist eigentlich ganz einfach zu benutzen. Wenn du hilfe brauchst, einfach fragen oder ne PN schreiben. <:

lg



Geschrieben von Julia712 am 11.11.2010 um 19:17:

  RE: Bank mit automatischen Zählen und abziehen

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
<?php
include("Datenbank.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<h2 class="h2">Hofkasse</h2>
<hr class="linie"> <br>
<table style="width: 100%; text-align: center; margin-left: auto; margin-right: auto;" border="0" cellpadding="2" cellspacing="2">
  <tbody>
    <tr>
     <td style="text-align: center;" class="dunkel">Einnahmen</td>
    </tr><?php
// Anfangswert setzen
$akt_konto "250000";
    $abfragen "SELECT * FROM bank ";
    $ergebnisn mysql_query($abfragen);
    if (@mysql_num_rows($ergebnisn) == 0)
   {
    echo '
    <tr>
    <td style="width: 98px; text-align: center; " colspan="4">Keine Transaktionen vorhanden.</td></tr>';
}
else
{
    while($row mysql_fetch_object($ergebnisn))
    {
    //Kontostand verändern
    $akt_konto $akt_konto $row->einnahmen;
    echo"
    <tr>
      <td style="text-aligncenter;" class='hell'>".$row->einnahmen."</td>
    </tr>";
}
 }
?>
</tbody>
</table><br>


<table style="width: 100%; text-align: center; margin-left: auto; margin-right: auto;" border="0" cellpadding="2" cellspacing="2">
  <tbody>
    <tr>
      <td style="text-align: center;" class="dunkel">Ausgaben</td>
    </tr><?php
    $abfragen "SELECT * FROM bank ";
    $ergebnisn mysql_query($abfragen);
    if (@mysql_num_rows($ergebnisn) == 0)
   {
    //Kontostand verändern
    $akt_konto $akt_konto $row->ausgaben;
    echo '
    <tr>
    <td style="width: 98px; text-align: center; " colspan="4">Keine Transaktionen vorhanden.</td></tr>';
}
else
{
    while($row mysql_fetch_object($ergebnisn))
    {
    echo"
    <tr>
      <td style="text-aligncenter;" class='hell'>".$row->ausgaben."</td>
    </tr>";
}
 }
?>

</tbody>
</table><br>
<table cellpadding="0" cellspacing="2" align="center" width="70%">
  <tbody>
    <tr >
      <td style="width: 167px; text-align: center;" class="dunkel">Aktueller Kontostand:</td>
      <td style="width: 163px; text-align: center;"><b>$akt_konto</b> €</td>
    </tr>
  </tbody>
</table>
</body>
</html>



Wenn ich deine Frage richtig verstanden habe, sollte es so gehen smile
Hab dir die betreffenden Stellen kommentiert und beim aktuellen Kontostand die Variable ausgeben lassen smile



Lg Julia



Geschrieben von Julia712 am 12.11.2010 um 14:00:

 

Huhu smile

Entferne mal in meinem Code an der Stellen, an der der Kontostand am Anfang gesetzt wird, die beiden " vor und hinter der Zahl.
Wahrscheinlich interpretiert php die Zahl auf Grund der " als String und nicht als Integer, weshalb nicht gerechnet sondern nur aneinandergehangen wird Freude


Lg Julia



Geschrieben von kext am 13.11.2010 um 16:04:

 

echo number_format(doubleval($konto), 2, ",", ".");



Geschrieben von kext am 13.11.2010 um 16:19:

 

Du musst weiter oben $konto natürlich durch die entsprechende Variable ersetzen, sonst ist klar, dass er immer das gleiche anzeigt. Mein Kommentar bezog sich rein auf die falsche Syntax.

@Cantara: Das macht nicht den geringsten Unterschied. Egal Welcher Typ in MySQL eingestellt ist, in PHP wird er IMMER zum String.



Geschrieben von kext am 13.11.2010 um 16:22:

 

Ja, aber es klappt mit Varchar genauso, auch wenn man in MySQL durch Int durchaus vorteile erhält.



Geschrieben von kext am 13.11.2010 um 17:02:

 

Deine Datenbankstruktur ist unlogisch. Du hast unter anderem die Spalten einnahmen und ausgeben in der Tabelle bank. Was trägst du da denn ein, wenn du zum Beispiel eine Ausgabe machst?

Der Quelltext, syntaktisch etwas bereinigt:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
<?php
include("Datenbank.php");
?>
<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<h2 class="h2">Hofkasse</h2>
<hr class="linie" /><br />
<?php
$konto 250000;
?>

<table width='100%'>
<tr>
<th><p align="center"><font color='#0A8101'>Einnahmen</font></p></th>
</tr>
</table>
<div style='overflow: auto; height: 100px; width: 100%; border-left: 1px solid; border-right: 1px solid; border-bottom: 1px solid;'>
<table width='100%' style='border: 0;'>
<?php
$gesamt_einnahmen 0;
$sql "SELECT `einnahmen`, `einnahmen_grund` FROM `bank`";
$result mysql_query$sql );
while($row mysql_fetch_assoc($result))
{
    $einnahmen $row["einnahmen"];
    $grund $row["einnahmen_grund"];
    echo "<tr><td><p align='center'><font color='#0A8101'>";
    echo number_format($einnahmen2","".");
    echo " - ".$grund."</font></p></td></tr>";
    $gesamt_einnahmen += $einnahmen;
}
?>
</table>
</div>

<br />

<table width='100%'>
<tr>
<th><p align="center"><font color='#CA0202'>Ausgaben</font></p></th>
</tr>
</table>
<div style='overflow: auto; height: 100px; width: 100%; border-left: 1px solid; border-right: 1px solid; border-bottom: 1px solid;'>
<table width='100%' style='border: 0;'>
<?php
$gesamt_ausgaben 0;
$sql "SELECT `ausgaben`, `ausgaben_grund` FROM `bank`";
$result mysql_query($sql);
while($row mysql_fetch_assoc($result))
{
    $ausgaben $row["ausgaben"];
    $grund $row["ausgaben_grund"];
    echo "<tr><td><p align='center'><font color='#CA0202'>";
    echo number_format($ausgaben2","".");
    echo " - ".$grund."</font></p></td></tr>";
    $gesamt_ausgaben += $ausgaben;
}
?>
</table>
</div>


<table width='100%'>
<tr>
<th><p align="center"><b>Kontostand</b></p></th>
</tr>
<tr>
<th><p align="center">
<?php
$konto += $gesamt_einnahmen;
$konto -= $gesamt_ausgaben;
echo number_format($konto2","".");
?></p></th>
</tr>
</table>
</body>
</html>



Geschrieben von kext am 13.11.2010 um 17:21:

 

Du hast mehr Spalten, als du eigentlich brauchst. Deine Tabelle Bank sollte nur id, betrag, grund und vielleicht das datum enthalten.

Ausgaben sind negativ, Einnahmen positiv.



Geschrieben von kext am 13.11.2010 um 17:48:

 

Naja, wie gesagt, Ausgaben sind negativ (kleiner als null) und Einnahmen sind positiv (größer als null).

Willst du also alle einnahmen sehen, lautet die Abfrage:

SELECT * FROM `bank` WHERE `betrag` > '0'

Analog für Ausgaben:

SELECT * FROM `bank` WHERE `betrag` < '0'

Du musst Ausgaben natürlich auch entsprechend eintragen:

INSERT INTO `bank` (`betrag`, `grund`) VALUES ('-700', 'Eine Ausgabe')


Forensoftware: Burning Board, entwickelt von WoltLab GmbH