Sie sind nicht angemeldet.

  • »Canc3lL0g0ut« ist der Autor dieses Themas

Beiträge: 881

Wohnort: L.E.

Beruf: KiN im Betriebsdienst

Rootserver vorhanden: Nein

  • Nachricht senden

1

Donnerstag, 20. Februar 2014, 12:00

GunGame Statistiken auf der Homepage anzeigen lassen

Moinsen ihr lieben,

hab mal wieder nen Problem. Ich möchte gern von unseren GunGame Servern die Statistiken wer die besten Spieler sind auf unserer Homepage anzeigen lassen. Dazu habe ich alles komplett auf MySQL umgestellt.
Ich benutze dieses GunGame ;) :)

Mein Script zum auslesen der Tabelle(n) sieht so aus:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
    $mysqlhost="localhost"// MySQL-Host angeben
    $mysqluser="meinuser"// MySQL-User angeben
    $mysqlpwd="mein passwort"// Passwort angeben
    $mysqldb="meine datenbank"// Gewuenschte Datenbank angeben
    $connection=mysql_connect($mysqlhost$mysqluser$mysqlpwd) or die  ("Verbindungsversuch fehlgeschlagen");
    mysql_select_db($mysqldb$connection) or die("Konnte die Datenbank nicht waehlen.");

    $sql "SELECT name, wins FROM gungame_playerdata";
    $id_query mysql_query($sql) or die("Anfrage nicht erfolgreich");
    $anzahl mysql_num_rows($id_query);
    echo "Anzahl der Datensätze: $anzahl";
   
 ?>
    <table cellpadding="1" cellspacing="3" border="1">
        <tr>
            <td>Name</td>
            <td>insgesamt gewonnen</td>
        </tr>

<?php
    while ($id mysql_fetch_array($id_query)){
?>
     <tr>
        <td><?=$gungame_playerdata['name']?></td>
        <td><?=$gungame_playerdata['wins']?></td>
        </tr>
<?php
 }
 ?>
</table>


Das Problem ist das er mir im oberen Abschnitt des Scripts die Anzahl der Datensätze noch korrekt anzeigt, der untere Teil funktioniert überhaupt nicht. Ich habe schon versucht

PHP-Quelltext

1
while ($id mysql_fetch_array($id_query)){
mit

PHP-Quelltext

1
while ($gungame_playerdatamysql_fetch_array($gungame_playerdata_query)){
zu ersetzen; auch das hat nichts gebracht.
Vielleicht bin ich auch betriebsblind - kann mir evtl. jemand helfen?

Vielen Dank schonmal :)
24/7 Teamspeak³ Server:


Linux is like a wigwam → No windows. No gates. Apache inside.

1. Frage des Admin: was wurde vorher verändert?
2. Antwort des Users: nichts
3. Frage des Admin: was wurde verändert, bevor NICHTS verändert wurde?

Ene mene muh gebasht wirst du,
ene mene miste headOr durch die Kiste,
ene mene meck kaum siehste mich schon fliegste weg :D

Cutti

Anfänger

Beiträge: 32

Wohnort: Köln

Rootserver vorhanden: Ja

  • Nachricht senden

2

Donnerstag, 20. Februar 2014, 15:39

Die Kombination aus beiden wäre richtig: while ($gungame_playerdata = mysql_fetch_array($id_query)){

  • »Canc3lL0g0ut« ist der Autor dieses Themas

Beiträge: 881

Wohnort: L.E.

Beruf: KiN im Betriebsdienst

Rootserver vorhanden: Nein

  • Nachricht senden

3

Montag, 24. Februar 2014, 18:10

Hallo Cutti,

ja es funktioniert mit Deinem Tipp - war wohl doch etwas betriebsblind :)

Allerdings habe ich noch ein klitzekleines Problem an dessen Lösung ich gerade komplett verzweifle: Ich habe jetzt meinen Code (plus ein paar Variablen geändert). Ich möchte gern die Gesamtanzahl der Datensätze angezeigt bekommen. Bei der Tabelle mit den Spielern soll er mir aber nur die besten 10 anzeigen. Mit dem vorigen Script war es so, daß er mir die Gesamtzahl der Datensätze (45) angezeigt hat. Allerdings war die Tabelle damit auch 45 Zeilen lang. Dies sollte aber nur für die letzten 10 Spieler gelten.

Hier mal der Code

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
    $mysqlhost="localhost"// MySQL-Host angeben
    $mysqluser="meinuser"// MySQL-User angeben
    $mysqlpwd="mein passwort"// Passwort angeben
    $mysqldb="meine datenbank"// Gewuenschte Datenbank angeben
    $connection=mysql_connect($mysqlhost$mysqluser$mysqlpwd) or die  ("Verbindungsversuch fehlgeschlagen");
    mysql_select_db($mysqldb$connection) or die("Konnte die Datenbank nicht waehlen.");

    $sql "SELECT name, wins FROM gungame_playerdata ORDER BY wins DESC LIMIT 0,10";
    $id_query mysql_query($sql) or die("Anfrage nicht erfolgreich");
        $anzahl mysql_num_rows($id_query);
    echo "Insgesamt $anzahl Spieler";

 ?>
    <table cellpadding="2" cellspacing="2" border="0">
        <tr>
            <td>Name</td>
            <td>insgesamt gewonnen</td>
        </tr>

<?php
    while ($gungame_playerdata mysql_fetch_array($id_query)){ 
?>
     <tr>
        <td><?=$gungame_playerdata['name']?></td>
        <td><?=$gungame_playerdata['wins']?></td>
        </tr>
<?php
 }
 ?>
</table>


Könnte mir da bitte jemand helfen?

Dankööö :) :)
24/7 Teamspeak³ Server:


Linux is like a wigwam → No windows. No gates. Apache inside.

1. Frage des Admin: was wurde vorher verändert?
2. Antwort des Users: nichts
3. Frage des Admin: was wurde verändert, bevor NICHTS verändert wurde?

Ene mene muh gebasht wirst du,
ene mene miste headOr durch die Kiste,
ene mene meck kaum siehste mich schon fliegste weg :D

dkk-mrb

Anfänger

Beiträge: 8

Wohnort: Lutherstadt Wittenberg

Beruf: Industriemeister Elektrotechnik

Rootserver vorhanden: Ja

  • Nachricht senden

4

Montag, 24. Februar 2014, 18:49

Hi Canc3lL0g0ut,

für das GunGame von DoDs hat DarkRanger seine modifizierten Versionen veröffentlicht, in der du die GG Top 10 anzeigen lassen kannst.
Ich habe etwas abgewandelt die meine Top 10 php Datei auf meiner HP mit abgelegt.

Sehr einfach zu bearbeiten und anzupassen. Als Hilfestellung für deine eigenen Abfragen sollte das hoffentlich reichen.

MfG der DKK Techniklurch
»dkk-mrb« hat folgendes Bild angehängt:
  • ggtop10.png

  • »Canc3lL0g0ut« ist der Autor dieses Themas

Beiträge: 881

Wohnort: L.E.

Beruf: KiN im Betriebsdienst

Rootserver vorhanden: Nein

  • Nachricht senden

5

Montag, 24. Februar 2014, 19:02

Huhu dkk-mrb,

das ist super lieb von dir mir zu helfen aber ich bräuchte den Code aus der PHP Datei. So sehe ich leider nur den Quelltext deiner Homepage :(
24/7 Teamspeak³ Server:


Linux is like a wigwam → No windows. No gates. Apache inside.

1. Frage des Admin: was wurde vorher verändert?
2. Antwort des Users: nichts
3. Frage des Admin: was wurde verändert, bevor NICHTS verändert wurde?

Ene mene muh gebasht wirst du,
ene mene miste headOr durch die Kiste,
ene mene meck kaum siehste mich schon fliegste weg :D

dkk-mrb

Anfänger

Beiträge: 8

Wohnort: Lutherstadt Wittenberg

Beruf: Industriemeister Elektrotechnik

Rootserver vorhanden: Ja

  • Nachricht senden

6

Montag, 24. Februar 2014, 19:18

php Code

OK, mom,

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<html>
<head>
<style type="text/css">

body   {
    background: url("lr_org.jpg");
    padding: 15px;
}

table tr td.center,
table tr.center td,
table.center tr td{
text-align: center;
vertical-align: top;
}

.whiteframe{
    border: 0px solid white;
}

</style>
</head>
<?php

//MYSQL
$con mysql_connect("IP*, "Name", "PWD");
$db = mysql_select_db("gg");
mysql_set_charset($db, "utf-8");

$images = array("goldpokal.gif","silberpokal.gif", "bronzepokal.gif",
    "4.png","5.png", "6.png", "7.png", "8.png", "9.png",
    "10.png");

$headlines = array("left-header.png", "right-header.png");
$days =array(0, 30);
?>


<body bgcolor="#000000" text="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" scroll="no">
<table width="100%"  boder="0" cellspacing="0">
<tr>
<td class="center" colspan="2">
    <a href="../../"/a><img src="dkk_clan.jpg" />
</td>
</tr>
<tr>

<?php
$i = -1;
foreach($days as $day)
{

$i++;

$qry "SELECT Count(*) as Wins, steamId " "FROM gg_winner " "WHERE DATEDIFF(Date(Now()), windate) <= $day " .  "GROUP By steamId ORDER by wins desc Limit 0,10";
$result mysql_query($qry);



?>
    <td class="center" style="padding: 0px; margin: 0px">
        <table width="100%"  class="center whiteframe">
            <tr><td colspan="3"><img src="<?php echo $headlines[$i]?>" /></td></tr>
            <tr><td></td><td>Siege</td><td>Name</td></tr>
            <?php

                $numRows mysql_num_rows($result);
                for($j 0$j $numRows$j++){

                    $row mysql_fetch_row($result);

                    $nameQry "SELECT name, COUNT(*) as count from gg_winnernames ".
                    "WHERE steamID = '$row[1]' ".
                    "GROUP By(name) ".
                    "order by count DESC ".
                    "LIMIT 0, 1; ";

                    $subRow mysql_fetch_row(mysql_query($nameQry));

                    $name htmlentities(html_entity_decode($subRow[0]), ENT_QUOTES$encoding 'utf-8');
                ?>
                <tr><td><img src="<?php echo $images[$j];?>" /></td><td><?php echo $row[0];?></td><td><?php echo $name;?></td></tr>
                <?php
                }

            ?>
        </table>
    </td>
<?php
}
?>

</tr>
</table>
</body>


So sieht mein php Code aus dem Screenshot aus.

MfG der DKK Techniklurch.

ps. den Link zu Darkrangers Plugin hatte ich mit reingemacht, weil er die top10.php geschrieben hatte in seinem DoDs GG Plugin

Cutti

Anfänger

Beiträge: 32

Wohnort: Köln

Rootserver vorhanden: Ja

  • Nachricht senden

7

Dienstag, 25. Februar 2014, 11:46

Hallo, um bei deinem Script zu bleiben, du müsstest einfach zwei Abfragen machen.

Eine um die Anzahl der Spieler zu bekommen und die die zweite für die Daten der Top 10.

Mal schnell Copy/Paste, dann sähe das so aus:

PHP-Quelltext

1
2
3
4
5
6
7
    $sql "SELECT name, wins FROM gungame_playerdata";
    $id_query mysql_query($sql) or die("Anfrage nicht erfolgreich");
    $anzahl mysql_num_rows($id_query);
    echo "Insgesamt $anzahl Spieler";

    $sql "SELECT name, wins FROM gungame_playerdata ORDER BY wins DESC LIMIT 0,10";
    $id_query mysql_query($sql) or die("Anfrage nicht erfolgreich");

  • »Canc3lL0g0ut« ist der Autor dieses Themas

Beiträge: 881

Wohnort: L.E.

Beruf: KiN im Betriebsdienst

Rootserver vorhanden: Nein

  • Nachricht senden

8

Dienstag, 25. Februar 2014, 17:49

Danke Cutti ... genauso siehts gut aus und funktioniert auch prima :bestteam: :bestteam:

Ganz lieben Dank auch an dkk-mrb :) :)
24/7 Teamspeak³ Server:


Linux is like a wigwam → No windows. No gates. Apache inside.

1. Frage des Admin: was wurde vorher verändert?
2. Antwort des Users: nichts
3. Frage des Admin: was wurde verändert, bevor NICHTS verändert wurde?

Ene mene muh gebasht wirst du,
ene mene miste headOr durch die Kiste,
ene mene meck kaum siehste mich schon fliegste weg :D