Hallo
ich habe eine kleine Funktion namens steuer().
Diese Funktion guckt wie groß der Abstand der letzten Steuereinnahme als mktime() ($time) und des aktuellen Datums ($mk).
Es gibt maximal 17 Abstände, die sich umso mehr Durchläufe es gab erhöht werden.
Die Abstände werden auf die letzte Steuereinnahme "draufgeschlagen". Sobald der Durchlauf der Schleife kommt, wo die Summe der letzten Steuereinnahme+Abstand größer ist als die aktuelle Zeit (mktime()) soll die aus einer Datenbank geholten Moral verringert werden und je mehr Durchläufe es gab desto größer ist auch der Abstand.
Hier die Syntax:
function steuer() {
$v_data = mysql_query("SELECT `id`, moral`, `last_steuer` FROM `villages` WHERE `king`='".mysql_real_escape_string($_COOKIE['login'])."'", $db);
while($v = mysql_fetch_assoc($v_data)) {
$mk = $mktime();
$time = $v['last_steuer'];
$durchlauf = 0;
while(17 < $durchlauf) {
$abzug = 7200;
if((3 < $durchlauf) AND ($durchlauf < 7)) {
$abzug = 10800;
}
else if((7 < $durchlauf) AND ($durchlauf < 12)) {
$abzug = 16200;
}
else if((12 < $durchlauf) AND ($durchlauf < 16)) {
$abzug = 23400;
}
else if((16 < $durchlauf) AND ($durchlauf < 17)) {
$abzug = 32400;
}
else if($durchlauf == 17) {
$abzug = 46800;
}
$summe = $time+$abzug;
$last = array($durchlauf => $summe);
if($last['$durchlauf'] > $mk) {
$moral = $v['moral']-$durchlauf;
$GLOBAL['steuer'] = $moral;
mysql_query("UPDATE `villages` SET `moral`='".mysql_real_escape_string($moral)."' WHERE `id`='".mysql_real_escape_string($v['id'])."'");
if($moral < 0) {
mysql_query("UPDATE `villages` SET `status`=1, `moral`=25 WHERE `id`='".mysql_reap_escape_string($v['id'])."'");
}
return $last['$durchlauf'];
break;
}
$durchlauf++;
}
}
}
Alles anzeigen
Die Funktion befindet sich in der function.inc und wird in der overview.inc aufgerufen, sobald der Link "Steuern einnehmen" angeklickt wurde.
Doch wenn ich den Link anklicke passiert leider nichts weiter und es gibt keine Ausgabe, auch wenn ich die Ausgabe wie folgt mache:
Kann mir jemand helfen wo ich vill. einen Denk- oder Programmierfehler hab?
lg