Erstmal danke für die Antworten, leider funktioniert das so noch nicht.
Falls sich jemand mit Drupal auskennt, die Spiele sind Nodes und werden über die Datei node-onlinespiel.tpl.php ausgegeben. Die sieht im relevanten Bereich folgendermaßen aus:
<!-- Showcase Highscoreliste / Begin -->
<div id="text">
<div class="css_head"><h2><?php print $title ?> - Highscoreliste</h2></div>
<div class="css_body">
<div class="infos">
<ol>
<li><a href="/user/username" title="username">username</a> erreichte 12345678910 Punkte am 01.01.2010</li>
<li><a href="/user/username" title="username">username</a> erreichte 12345678910 Punkte am 01.01.2010</li>
<li><a href="/user/username" title="username">username</a> erreichte 12345678910 Punkte am 01.01.2010</li>
<li><a href="/user/username" title="username">username</a> erreichte 12345678910 Punkte am 01.01.2010</li>
<li><a href="/user/username" title="username">username</a> erreichte 12345678910 Punkte am 01.01.2010</li>
<li><a href="/user/username" title="username">username</a> erreichte 12345678910 Punkte am 01.01.2010</li>
<li><a href="/user/username" title="username">username</a> erreichte 12345678910 Punkte am 01.01.2010</li>
<li><a href="/user/username" title="username">username</a> erreichte 12345678910 Punkte am 01.01.2010</li>
<li><a href="/user/username" title="username">username</a> erreichte 12345678910 Punkte am 01.01.2010</li>
<li><a href="/user/username" title="username">username</a> erreichte 12345678910 Punkte am 01.01.2010</li>
</ol>
<p>» <a href="/community/highscores" title="Highscores">Infos zur Highscoreliste</a></p>
</div>
</div>
<div class="css_foot"><img src="/sites/all/themes/my_theme/images/bg_showcase_foot.png"></div>
</div>
<!-- Showcase Highscoreliste / End -->
Über die Variable $title wird der Spieletitel ausgegeben. Um das Spiel eindeutiger zu identifizieren habe ich mich jetzt dazu entschlossen auch noch die Variable $nid (die ID des Nodes, also die eindeutige ID/Zahl passend zum jeweiligen Spiel) an die Datenbank weiterzugeben, über die ich das Spiel dann zuverlässig bei der Abfrage identifizieren möchte.
Die Tabelle highscores habe ich wie folgt erstellt:
CREATE TABLE IF NOT EXISTS `highscores` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`when` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`nid` text COLLATE utf8_unicode_ci NOT NULL,
`game` text COLLATE utf8_unicode_ci NOT NULL,
`gameid` text COLLATE utf8_unicode_ci NOT NULL,
`boardid` text COLLATE utf8_unicode_ci NOT NULL,
`userid` text COLLATE utf8_unicode_ci NOT NULL,
`username` text COLLATE utf8_unicode_ci NOT NULL,
`score` text COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Wobei „gameid“ und „boardid“ nicht ausgegeben werden sollen und auch nicht weiter relevant sind, dort werden lediglich die IDs des Spieleanbieters festgehalten. Ich markiere die Spiele ja nun wie gesagt über „nid“, die Node-ID ($nid) des Drupal-CMS. Das Feld „id“ dient der durchlaufenden Numerierung der Highscores.
Die Daten aus „username“, „score“ und „when“ sollen in der Liste stehen, wenn diese ausgegeben wird, vom höchsten Score ausgehend absteigend, die ersten zehn, jedoch nur von verschiedenen "userid"´s. Das ist sozusagen das Ziel.
Die ID des aktuellen Spiels, also die Variable $nid, kann man über <?php print $node->nid ?>
in der template-Datei node-onlinespiel.tpl.php ausgeben. Nach dieser Zahl soll also in der Tabelle „highscore“ im Feld „nid“ gesucht werden.
Wenn keine Highscores vorhanden sind, die „nid“ also nicht in der Tabelle auftaucht, soll der gesamte Bereich … ausgeblendet, bzw. nicht angezeigt werden. Ab einem gefundenen Eintrag soll der Schaukasten in obiger Form ausgegeben werden.
Leider habe ich keine Ahnung von Datenbankabfragen und bin auch nur im Trial-And-Error-Verfahren bis zu diesem Punkt gelangt. Es wäre also wirklich super, wenn mir jemand kurz erklären könnte, wie ich das hinbekomme.
Gruß,
Uwe