Ich wollte schon seit längerem auf meiner Homepage die letzten 10 Voter anzeigenlassen. Leider hab ich nirgens ein TUT oder ähniches gefunden, welches das kann.
Also hab ich jetzt selbst ein PHP-Script erstellt, welches ich jetzt mal Vorstelle, damit alle die, die nicht so viel Ahnung in dem Bereich haben, sich den Traum verwirklichen können.
Ich gehe davon aus, dass ihr Votifier installiert habt und dieser auch soweit funktioniert.
Dann braucht ihr:
- MySQLLoggerListener.class
- MYSQL Tabelle
- Webspace
Fangen wir an...
Zuerst kopiert/verschiebt ihr die MySQLLoggerListener.class nach plugins\Votifier\listeners .
Dann den Server reloaden.
Votifier wird einen Error ausgeben und nicht starten.
Das ist normal, da er keine Datenbank findet bzw nicht connecten kann.
Aber in plugins\Votifier\ findet ihr eine MySQLLoggerListener.ini
Die Felder entsprechend ausfüllen.
Reloaden.
Dann sollte in eurer MySQL eine Table Namens "votes" erscheinen. Hierrein werden alle Votes gespeichert, in folgenden Spalten:
id = Erster Vote id=1, zweiter id=2 usw.
minecraft_user = Name des Voters
ip = IP des Voters
service = Die Seiter, von der gevotet wurde
time = Wann der Vote ausgeführt wurde
Kommen wir zum eigendlichen Teil, der Script:
Das wars eigendlich schon. Wer den meistgevoteten anzeigen will, kann das hier nutzen:
Ich hoffe ich konnte einigen hier helfen.
Ein Beispiel hab ich hier: mc.pixelt.de/vote
LG Dez
Also hab ich jetzt selbst ein PHP-Script erstellt, welches ich jetzt mal Vorstelle, damit alle die, die nicht so viel Ahnung in dem Bereich haben, sich den Traum verwirklichen können.
Ich gehe davon aus, dass ihr Votifier installiert habt und dieser auch soweit funktioniert.
Dann braucht ihr:
- MySQLLoggerListener.class
- MYSQL Tabelle
- Webspace
Fangen wir an...
Zuerst kopiert/verschiebt ihr die MySQLLoggerListener.class nach plugins\Votifier\listeners .
Dann den Server reloaden.
Votifier wird einen Error ausgeben und nicht starten.
Das ist normal, da er keine Datenbank findet bzw nicht connecten kann.
Aber in plugins\Votifier\ findet ihr eine MySQLLoggerListener.ini
Code:
#MySQL Logger Listener Configuration
#Sat Aug 25 13:53:50 CEST 2012
user=votifier
port=3306
pass=votifier
host=127.0.0.1
database=votifier
Die Felder entsprechend ausfüllen.
Reloaden.
Dann sollte in eurer MySQL eine Table Namens "votes" erscheinen. Hierrein werden alle Votes gespeichert, in folgenden Spalten:
id = Erster Vote id=1, zweiter id=2 usw.
minecraft_user = Name des Voters
ip = IP des Voters
service = Die Seiter, von der gevotet wurde
time = Wann der Vote ausgeführt wurde
Kommen wir zum eigendlichen Teil, der Script:
Code:
<?php
$anzeigen=5; // Wieviele Spieler sollen gelistet werden?
$host = ""; //Host
$user = ""; //User
$pass = ""; //Password
$dbase = ""; //Tabelle
$db = mysql_connect($host, $user, $pass) or die ("verbindung fehlgeschlagen");
mysql_select_db($dbase, $db) or die ("verbindung zur datenbank fehlgeschlagen");
$sql = "SELECT MAX(id) AS letzte FROM votes ORDER BY id";
$query = mysql_query($sql);
$rs = mysql_fetch_array($query);
$letzte = $rs['letzte'];
$zahl = $letzte - $anzeigen;
$sql = "SELECT * FROM votes LIMIT $zahl,$anzeigen";
$query = mysql_query($sql);
echo "<table>"; //Ich gebe alles in einer Tabelle aus
$stack = array();
while($rs = mysql_fetch_assoc($query))
$stack[] = $rs;
$stack = array_reverse($stack);
foreach($stack as $rs) {
$un = $rs['minecraft_user'];
echo "<tr><td>
<img src="[URL="http://www.minecraft-server.eu/board/view-source:http://mag.racked.eu/tools/avatar/32/$un.png"]http://mag.racked.eu/tools/avatar/32/$un.png[/URL]" alt="" border="0"></td><td>$un</td><td>".$rs['service']."</td></tr>"; //mit $rs[''] gebt ihr dan die Spalte aus, wie oben aufgelistet. zB. $rs['ip'] gibt die ip aus
}
echo "</table>";
?>
Das wars eigendlich schon. Wer den meistgevoteten anzeigen will, kann das hier nutzen:
Code:
<?php
$anzeigen=1;
$host = "";
$user = "";
$pass = "";
$dbase = "";
$db = mysql_connect($host, $user, $pass) or die ("verbindung fehlgeschlagen");
mysql_select_db($dbase, $db) or die ("verbindung zur datenbank fehlgeschlagen");
$select = "SELECT COUNT( * ) AS Zeilen , minecraft_user FROM votes GROUP BY minecraft_user ORDER BY Zeilen DESC LIMIT 0 , $anzeigen";
$result = mysql_query($select,$db);
if($result){
echo "<table>";
while($row = mysql_fetch_array($result)){
echo "<tr><td>Vote-Meister</td><td>:</td><td>".$row['minecraft_user']."</td></tr>";
}
echo "</table>";
}
?>
Ich hoffe ich konnte einigen hier helfen.
Ein Beispiel hab ich hier: mc.pixelt.de/vote
LG Dez
Zuletzt bearbeitet: