Jetzt kostenlos Anmelden!


archipage Männlich

kennt keine frische Luft

Beiträge: 456

Geschlecht: Männlich

PHPKIT Version: 1.6.1

1

Freitag, 4. Januar 2008, 18:42

PHP-Dateien auslesen und bearbeiten

Also ich habe eien Tabelle phpbb_ina_highscore




nun möchte ich den highscore für ein bestimmtes spiel abfragen und ausgeben.
also z.b beim spiel "spielname". es soll für "spielname" der highscore ausgelsen werden. dabei ist "spielname häufiger in der db gespeichert, da es mehrere user gespielt haben. nun müsste man also die spalte suchen wo der höchste highscore für "spielname" gespeichert ist. aus dieser sollten user und die zahl des highscores ermittelt werden und hinterher ausgegeben werden.
wenn noch kein eintrag zu "spielname" in der db existiert soll ein alternativer text ausgegeben werden, zb: "kein Highscore gespeichert".



neben jedem spiel soll der user stehen der in dem spiel die meisten punkte erreicht hat, die erreichten punkte sollen ebenfalls angezeigt werden!
wenn man auf diese (die errecihten Punkte) klickt soll eine neue datei geöffnet werden in der die highscores für das spiel geordnet aufgelistet sind nach plätzen, also z.b
1. admin 3489 (punkte) datum an dem die punkte erreciht wurden
2. xy 3404 (punkte) datum

zudem sollte es eine liste geben´die die rangfolge anzeigt, also die erreichten plätze, z.b so:

1. xnsa mit x 1plätzen x 2plätzen x 3plätzen
.....
dabei muss natürlich berücksichtigt werden das ein 1 platz mehr wert is als ein 3...


ich hoffe es ist verständlich geworden was ich meine!

_________________________________________________________

ich habe bis jetzt folgenden Code für die Ausgabe des besten Scores neben dem Spiel MonkeyDive:

PHP-Quelltext

1
2
$score $DB->query("SELECT MAX(highscore_score) FROM phpbb_ina_highscore WHERE highscore_game = 'monkeydive' "); 
$score=$DB->fetch_array($score);


dort wird allerdings, mir unverständlich, ein array Fehler ausgegeben.
  • Zum Seitenanfang
  • Zum Seitenende

Onkel Hotte Männlich

Godfather of Linux

Beiträge: 22

Geschlecht: Männlich

Wohnort: Potsdam

PHPKIT Version: 1.6.1

2

Freitag, 4. Januar 2008, 19:05

RE: PHP-Dateien auslesen und bearbeiten

Zitat


PHP-Quelltext

1
2
$score $DB->query("SELECT MAX(highscore_score) FROM phpbb_ina_highscore WHERE highscore_game = 'monkeydive' "); 
$score=$DB->fetch_array($score);


dort wird allerdings, mir unverständlich, ein array Fehler ausgegeben.


Was sagt die Fehlermeldung?
Zur Not den Debug-Level von php und/oder mysql hochsetzen.

versuche mal:

PHP-Quelltext

1
2
$score $DB->query("SELECT max(highscore_score) as 'max_high' FROM phpbb_ina_highscore WHERE highscore_game = 'monkeydive' "); 
$score=$DB->fetch_array($score);



Ich würde Dir auch empfehlen, deine Tabelle zu Normalisieren. Die Spiele können zu Beispiel in eine eigene Tabelle die du dann verknüpfst und nur noch mit den Primär-Schlüsseln arbeitest.
  • Zum Seitenanfang
  • Zum Seitenende

archipage Männlich

kennt keine frische Luft

Beiträge: 456

Geschlecht: Männlich

PHPKIT Version: 1.6.1

3

Freitag, 4. Januar 2008, 19:19

nein bringt nichts, hat ich acuh schon versucht. es wird einfach an der Stelle von $score im template "Array" angezeigt!
  • Zum Seitenanfang
  • Zum Seitenende

chris47803 Männlich

ist gerade angekommen

Beiträge: 49

Geschlecht: Männlich

PHPKIT Version: keine

4

Freitag, 4. Januar 2008, 20:12

Hallo!

Dein Array wird nicht gefüllt.

Reicht da nicht eine Where-Klausel sortiert nach dem Höchsten und Limit 1?
Besucht auch bitte meine Webseiten.

PersonalBit | Formel 1
  • Zum Seitenanfang
  • Zum Seitenende

archipage Männlich

kennt keine frische Luft

Beiträge: 456

Geschlecht: Männlich

PHPKIT Version: 1.6.1

5

Freitag, 4. Januar 2008, 21:24

ich weiß nich so recht, poste doch bitte einfach einmal dein Vorschlag. es muss ja nach spiel UND highscore geordnet werden. außerdem wie würdest du das höchte auslesen? also wie denkst du würde der Code ausehen?
  • Zum Seitenanfang
  • Zum Seitenende

Dirk Kántor Männlich

aká Dooki

Beiträge: 2 074

Geschlecht: Männlich

PHPKIT Version: keine

6

Freitag, 4. Januar 2008, 21:35

archipage $score IST auch ein Array..

du must mit dem code von Hotte deine daten mit folgender Variablen ausgeben:
$score['max_high']

geht es dann?
  • Zum Seitenanfang
  • Zum Seitenende

archipage Männlich

kennt keine frische Luft

Beiträge: 456

Geschlecht: Männlich

PHPKIT Version: 1.6.1

7

Freitag, 4. Januar 2008, 21:41

das hatte ich mir ja auch gedacht, doch wenn ich das getan habe kam folgende Syntax_Fehlermeldung:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /usr/...../page/games.php(6) : eval()'d code on line 10



die ganze game.php sieht noch so aus:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
<?php 
$score $DB->query("SELECT max(highscore_score) as 'max_high' FROM phpbb_ina_highscore WHERE highscore_game = 'monkeydive' "); 
$score=$DB->fetch_array($score); 
eval ("\$site_body.= \"".getTemplate("games")."\";"); 

$getscoreinfo=$DB->query("SELECT * FROM phpbb_ina_highscore ORDER by highscore_game ASC"); 
while ($scoreinfo=$DB->fetch_array($getscoreinfo)) { 
eval ("\$site_body.= \"".getTemplate("games_row")."\";"); 
} 


?>


wobei auch wenn ich den zweiten Teil komplett weg mache die Fehlermeldung genau doe gleiche bleibt!
  • Zum Seitenanfang
  • Zum Seitenende

chris47803 Männlich

ist gerade angekommen

Beiträge: 49

Geschlecht: Männlich

PHPKIT Version: keine

8

Freitag, 4. Januar 2008, 21:41

SELECT * FROM phpbb_ina_highscore WHERE highscore_game = 'monkeydive' and highscore_score > 0 order by highscore_score desc limit 1
Besucht auch bitte meine Webseiten.

PersonalBit | Formel 1
  • Zum Seitenanfang
  • Zum Seitenende

archipage Männlich

kennt keine frische Luft

Beiträge: 456

Geschlecht: Männlich

PHPKIT Version: 1.6.1

9

Freitag, 4. Januar 2008, 21:45

gleiche fehlermeldung!
  • Zum Seitenanfang
  • Zum Seitenende

Dirk Kántor Männlich

aká Dooki

Beiträge: 2 074

Geschlecht: Männlich

PHPKIT Version: keine

10

Freitag, 4. Januar 2008, 21:47

Verwendung von Variablen (arrays) in einem Template:

PHP: $array['key']

Template: $array[key]

Demnach bei dir:
im Template folgendes verwenden: $score[max_high]

EDIT: also in templates ohne diese HOCHKOMMAS > ' <
  • Zum Seitenanfang
  • Zum Seitenende