Variable in variable möglich?
alex schneider
- php
0 Tom0 Alex Schneider0 Alex Schneider0 Tom
0 Tom
Hallo!
vielleicht stehe ich gerade auf dem schlaum aber ich komme nicht weiter. undzwar habe ich einen renditenrechner programmiert.
dazu habe ich folgendes db-query:
$query="SELECT " . $prozent . " FROM rendite WHERE jahre = '" . $jahre . "'";
$result = mysql_query ($query)
or die ("Query failed");
while($line = mysql_fetch_array($result)) {
$wert = $line[$prozent];
$loesung = $wert * $mon_einzahlung;
}
Kriege aber leider immer falsche werte geliefert, weil $line[$prozent] anscheinend nicht den richtigen wert überträgt - da die auswahl der spalten aber verschieden ist geht es nicht anders (ist eine art kreuztabelle).
habt ihr einen rat wie ich es richtig machen könnte
Hello,
$query = "SELECT ".$prozent." FROM rendite WHERE jahre = '".$jahre."'";
$result = mysql_query ($query);
if (mysql_errno() > 0)
{
die (mysql_errno().", ".mysql_error());
}
while($line = mysql_fetch_assoc($result))
{
$wert = $line[$prozent];
echo "<p>Prozentsatz: ".$line[$prozent]."</p>";
$loesung = $wert * $mon_einzahlung;
}
Ich kann da eigentlich keinen Fehler entdecken.
Du solltest aber die strittigen Werte mal an passender Stelle überprüfen.
Und was heißt "Kriege aber leider immer falsche werte geliefert"
Wei hast Du das denn überprüft?
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hallo!
Und was heißt "Kriege aber leider immer falsche werte geliefert"
Wei hast Du das denn überprüft?
Ok ich versuche es mal so gut es geht zu erklären für einen renditerechner benötige ich 3 werte
Ich habe nun eine Datenbank in der die spaltennamen die prozentwerte sind also zum beispiel:
jahre | 3 | 3,5 | 4 | 4,5 | 5 | 5,5 | 6 | 6,5 | 7 | 7,5 | 8,5
--------------------------------------------------------------
1 |27 |43 |55 |65 |77 |87 |91 | 97 |102|106 |114
--------------------------------------------------------------
2 |.......
habe wie man sehen kann eine art kreuztabelle gemacht. links die jahre und oben die prozente.
der jeweilige faktor mit dem man nun die monatliche Einzahlung mulitpliziert ergibt sich aus den ausgewählten werten prozent und laufzeit.
nun weiss ich ja nicht wieviel der besucher als prozent haben möchte und habe deswegen $line[$prozent] verwendet um den richtigen faktor zu erhalten.
Ich kann es darüber überprüfen, dass das Ergebnis falsch ist - weil ich hier ein beispiel habe:
Monatlich wird ein bestimmter Betrag (z.B. 150 EUR) zu einem bekannten Zinssatz (z.B. 6% für eine Anzahl von Jahren (z.B. 20 Jahren) angelegt.
a) Gesucht wird der Auszahlungsbetrag nach 20 Jahren. Dazu nehem wir o.g. Tabelle in der Zeile 20 Jahre unter 6% = Faktor 455,77
150.00 EUR x Faktor 455,77 = 68.365,50 EUR Auszahlungsbetrag
ich erhalte aber 900 EUR als Auszahlungsbetrag, weil 6 x 150 = 900 - er nimmt als die Prozentzahl und multipliziert es anstatt den faktor den er nehmen soll.
Hallo nochmal!
also ich habe es nun ich habe mal den query auf Select * gestellt, dann funktioniert es - aber geht es nicht, dass man direkt die spalte erreichen kann?
muss doch eigentlich möglich sein.
Hello,
also ich habe es nun ich habe mal den query auf Select * gestellt, dann funktioniert es - aber geht es nicht, dass man direkt die spalte erreichen kann?
Doch. Aber Du solltest wirklich mal meine Variation mit der substantiierten Fehlerausgabe benutzen. Dann wird Dir wahrscheinlich der fehler entgegenspringen.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hello,
unabhängig davon, dass ich in deiner Abfrage keinen Fehler sehen konnte, außer, dass Du keine Kontrollen eingebaut hattest, um den vermeintlichen Fehler zu finden...
Wieso machst Du das mit einer Tabelle in Zeiten von Rechnern?
Du kannst das Ganze doch vorwärts ganz leicht mit einer Formel und rückwärts mit einer Iteration und einer Formel erledingen.
Solltest Du es als Datenbankübung ansehen, hab ich nichts gesagt ;-))
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hi!
Wieso machst Du das mit einer Tabelle in Zeiten von Rechnern?
Du kannst das Ganze doch vorwärts ganz leicht mit einer Formel und rückwärts mit einer Iteration und einer Formel erledingen.Solltest Du es als Datenbankübung ansehen, hab ich nichts gesagt ;-))
hatte ich versucht - bin aber irgendwie nie auf eine Formel gekommen.
aber davon abgesehen war es auch meine erste kreuztabelle ;-)