Hallo,
gibt es eine einfache Möglichkeit, dass man z. B. über dem Siegerpodest einblendet, wieviele Punkte noch erreicht werden können?
Noch zu vergebene Punkte
- compoundbow83
- Erledigt
Ich habe einen Blog Artikel verfasst - Wie benutze ich die Suche richtig - Bitte diesen beachten und auch umsetzen bevor Ihr ein Neues Thema eröffnet!
-
-
Die möglichen Punkte des jeweiligen Nutzers oder von allen? Denn zum Beispiel bei den Bonustipps kann ja jeder unterschiedliche Punkte erhalten, je nachdem wann er diese abgegeben hat.
-
Hallo,
oh sorry stimmt, da gibt es ja mehrere möglichkeiten.Also ganz perfekt wäre, die des jeweiligen Users.
Wenn das aber zu kompliziert ist, dann einfach nur die möglichen Punkte für die Spiele.
-
Ganz oben zu den anderen SQL-Abfragen kannst du in der content/sieger.php folgenden Code einfügen:
PHP- $sqlGamesRest = mysql_query("SELECT type FROM ". $CONFIG['MYSQL']['PREFIX'] ."spiele tb1 LEFT JOIN ". $CONFIG['MYSQL']['PREFIX'] ."ergebnisse tb2 ON tb2.spiel = tb1.id WHERE tb2.spiel IS NULL");$restGames = mysql_num_rows($sqlGamesRest);$restPoints = 0;while($rowGamesRest = mysql_fetch_array($sqlGamesRest)) { $restPoints += getPunkte('ERGEBNIS', $rowGamesRest['type']);}$sqlBonus = mysql_query("SELECT (SELECT pkt FROM ". $CONFIG['MYSQL']['PREFIX'] ."bonus_punkte tb2 WHERE tb2.bid = tb1.bid AND tb1.date < tb2.date ORDER BY tb2.date DESC LIMIT 1) AS pkt FROM ". $CONFIG['MYSQL']['PREFIX'] ."bonus_tipps tb1 LEFT JOIN ". $CONFIG['MYSQL']['PREFIX'] ."bonus_answers tb3 ON tb3.bid = tb1.bid WHERE tb1.usr = " . $_SESSION['s_id'] . " AND tb3.answer IS NULL GROUP BY tb1.bid");$restBonus = mysql_num_rows($sqlBonus);$restBonusPoints = 0;while($rowBonus = mysql_fetch_array($sqlBonus)) { $restBonusPoints += $rowBonus['pkt'];}
Dann hast du vier Variablen zur Verfügung die du zum Beispiel in solche Sätze einbauen könntest:
Den letzten Codeteil kannst du wieder irgendwo in der content/sieger.php einbauen.
-
Hallo,
mal wieder ein großes Dankeschön. Funktioniert soweit super.Nur ein Punkt habe ich noch bei den Bonuspunkten stimmt etwas nicht.
Er zeigt mir an, dass ich noch offene 10 offene Bonuttipps habe (das passt auch so), aber er zeigt mir an, dass ich damit maximal 15 Punkte holen kann (richtig wäre bei mir jetzt allerdings 39 Punkte maximal).
Wenn du dir das vielleicht noch anschauen könntest, wäre das super.
Compoundbow83
-
...bei mir sagt er:
Bei den restlichen 27 Spielen kannst du noch maximal 170 Punkte erreichen.
Du hast noch 0 offene Bonustipps, wo du maximal 0 Punkte erreichen kannst.
Wo ist der Fehler - leider reichen meine PHP-Kenntnisse nicht aus, ihn selber zu finden!
Danke und Gruß,
Tim -
Ändert mal die Abfrage für die Bonusfragen so:
PHP- $sqlBonus = mysql_query("SELECT (SELECT pkt FROM ". $CONFIG['MYSQL']['PREFIX'] ."bonus_punkte tb2 WHERE tb2.bid = tb1.bid AND tb1.date < tb2.date ORDER BY tb2.date ASC LIMIT 1) AS pkt FROM ". $CONFIG['MYSQL']['PREFIX'] ."bonus_tipps tb1 LEFT JOIN ". $CONFIG['MYSQL']['PREFIX'] ."bonus_answers tb3 ON tb3.bid = tb1.bid WHERE tb1.usr = " . $_SESSION['s_id'] . " AND tb3.answer IS NULL GROUP BY tb1.bid");
Dann sollte zumindest die Punktzahl stimmen.
-
...sagenhafter support - vielen Dank. Leider ändert das bei mir nichts, dass nachwievor die 0 Punkte angezeigt werden...
Wenn ich die o.g. Abfrage
direkt in der Datenbank ausführe kommt auch als Ergebnis 0:
Weitere Ideen? -
Tippst du überhaupt mit Bonustipps? Gibt es Antworten auf die Bonustipps in der Tabelle? Gibt es Punkte für die Bonustipps?
-
-
Danke für die Abfragen!
Bei mir dasselbe Ergebnis wie bei thsc, Spiele passen - bei den Bonustipps kommt 0! -
Dann liegt es daran, das in der bonus_answers-Tabelle schon Datensätze drin stehen, was nicht sein sollte.
-
Habs hinbekommen, mit
Code- $sqlBonus = mysql_query("SELECT (SELECT pkt FROM ". $CONFIG['MYSQL']['PREFIX'] ."bonus_punkte tb2 WHERE tb2.bid = tb1.bid AND tb1.date < tb2.date ORDER BY tb2.date ASC LIMIT 1) AS pkt FROM ". $CONFIG['MYSQL']['PREFIX'] ."bonus_tipps tb1 LEFT JOIN ". $CONFIG['MYSQL']['PREFIX'] ."bonus_answers tb3 ON tb3.bid = tb1.bid WHERE tb1.usr = " . $_SESSION['s_id'] . " AND tb3.answer = '0' GROUP BY tb1.bid");
- $restBonus = mysql_num_rows($sqlBonus);
- $restBonusPoints = 0;
- while($rowBonus = mysql_fetch_array($sqlBonus)) {
- $restBonusPoints += $rowBonus['pkt'];
- }
klappts!!!Habe
tb3.answer IS NULL
durch
tb3.answer = '0'
ersetzt! -
Dann liegt es daran, das in der bonus_answers-Tabelle schon Datensätze drin stehen, was nicht sein sollte.
Seit gestern Abend ist es aber legitim, dass dort schon Datensätze drin stehen, denn der Gruppensieger der Gruppe A steht ja fest.
Berücksichtigt die Abfrage die bereits gegebenen Punkte und rechnet diese nicht mehr mit ein?
-
Deshalb wird ja auch abgefragt ob NULL ist oder nicht, denn wenn NULL ist, dann gibt es zu dieser Bonusfrage noch keine Antworten. Wenn ihr aber schon überall antworten drin habt, mit answer 0, dann ist das natürlich klar das es nicht funktioniert (nur die Lösung von @DKeppi). Woher aber eure Datensätze kommen, weiß ich ja nicht, ich bin vom Grundskript ausgegangen.
Also es werden nur noch die offenen Bonustipps und Spiele berücksichtigt.
-
Ändert mal die Abfrage für die Bonusfragen so:
PHP- $sqlBonus = mysql_query("SELECT (SELECT pkt FROM ". $CONFIG['MYSQL']['PREFIX'] ."bonus_punkte tb2 WHERE tb2.bid = tb1.bid AND tb1.date < tb2.date ORDER BY tb2.date ASC LIMIT 1) AS pkt FROM ". $CONFIG['MYSQL']['PREFIX'] ."bonus_tipps tb1 LEFT JOIN ". $CONFIG['MYSQL']['PREFIX'] ."bonus_answers tb3 ON tb3.bid = tb1.bid WHERE tb1.usr = " . $_SESSION['s_id'] . " AND tb3.answer IS NULL GROUP BY tb1.bid");
Dann sollte zumindest die Punktzahl stimmen.
Hallo,
vielen Dank genau das war es. Jetzt stimmt es bei mir. -
wo genau fügt Ihr denn:
ein ?
Weil bei mir klappt das nicht dass es angezeigt wird
-
Ich habe es in die Sieger.php eingebaut wo auch die SQL-Abfrage ergänzt wurde.
-
danke klappt
-
danke klappt
Wenn ich auch mal helfen kann gerne.