Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo zusammen,

habe für ein Tippspiel das in PHP geschrieben ist, eine Erweiterung geschrieben. Es stellt eine Strafkasse für vergessene Tipps dar. Die Höhe der Strafe ist in der Config zur Zeit auf, 0,50€ eingestellt. Sobald an einem Spieltag ein Tipp vergessen wird, werden 0,50€ dem jeweiligem User angerechnet. Hierbei ist es egal ob er einen oder mehrere Tipps vergessen hat, es werden immer nur 0,50€ hinzugerechnet.

Sobald ein Spiel vergessen wird, zählt er die 0,50 dazu, jedoch zählt er auch für jeden vorherigen Spieltag der vor dem aktuellen Spieltag liegt 0,50 dazu, obwohl getippt wurde.

Hab jetzt in der Testumgebung 4 Spieltage komplett getippt und abgeschlossen: Strafkasse = 0,00€

Dann habe ich den 5ten Spieltag ein Spiel ausgelassen zu Tippen: Strafkasse = 2,50€

Heißt also er hat die Spieltage 1 - 4 auch als nicht getippt gewertet, warum auch immer.

Dann habe ich Spieltag 6 - 10 getippt und abgeschlossen: Strafkasse == 2,50€ (hier hat er also wieder nichts berechnet was ja korrekt ist)

Sobald ich den an Spieltag 11 einen Tipp auslasse, setzt er: Strafkasse = 5,50€ (also Spieltag 6 - 11) wieder dazugerechnet.

Komisches Problem, das ich im Moment nicht ganz nachvollziehen kann. Vieleicht will ja mal jemand drüberschauen ob er nen Denkfehler findet .

Hier mal der Code des eigentlichen Script:

 <!-- Mod Strafkasse

<?php

$aktsptg = AktuellerSpieltag();
$usertipcount = getMissingUserTipps();


$last_sptg = $aktsptg - 1;
if ($last_sptg < 1) $last_sptg = 1;
if ($last_sptg >= 1)
{
$x = 0;
for ($y = 1; $y <= $last_sptg; $y++)
{
$query_spiele = mysql_query('SELECT id
FROM '.$tbl['spiele'].'
WHERE liga = '.$saison['liga'].'
AND saison = '.$saison['jahr2'].'
AND spieltag <= '.$last_sptg);
$anzahl_spiele = mysql_num_rows($query_spiele);
while ($row_spiele = mysql_fetch_array($query_spiele))
{
$query_tipps = mysql_query('SELECT id
FROM '.$tbl['tipps'].'
WHERE u_id = '.$_SESSION['s_user'].'
AND s_id = '.$row_spiele['id']);
$anzahl_tipps = mysql_num_rows($query_tipps);

if (!$anzahl_tipps) $fehlendes_game = 1;
}

if ($fehlendes_game == 1) $x++;
unset ($fehlendes_game);
}
$strafzahlung = number_format($zusatz_betrag * $x, 2, ',', '.');

$update = mysql_query('UPDATE '.$tbl['user'].'
SET strafkasse = "'.$strafzahlung.'"
WHERE id = '.$_SESSION['s_user']);
$query_zahlung = mysql_query('SELECT id, strafkasse FROM '.$tbl['user'].' WHERE id = '.$_SESSION['s_user']);
$row_zahlung = mysql_fetch_array($query_zahlung);
}

?>
Ende Mod Strafkasse -->
<?php
if ($strafkasse['show'] == TRUE)
{ ?>
<tr><td colspan="2">Strafkasse: <font color="#ff0000"><b><?php echo $row_zahlung['strafkasse']; ?></b></font> €</td></tr>
<?php
}
?>[/php]

Hoffe ich konnte mein Anliegen verständlich rüberbringen ;)

Geschrieben

Du verwendest doch die Methode getMissingUserTipps(); und speicherst den Wert in eine Variable $usertipcount doch warum verwendest du die nicht?

Wenn ich den Methodennamen anschauen, sollte es die Anzahl der vergessenen Tipps eines User liefern. Dann musst du doch nur noch $usertipcount * 0.5 machen und dann hast du doch die Anzahl????

Oder verstehe ich dich da falsch?

Geschrieben

Hab das Problem gefunden.

Die Zeile

AND spieltag <= '.$last_sptg);

habe ich in folgende geändert

AND spieltag = '.$y);

Jetzt zählt das Script die Strafen ordentlich hoch.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...