[How-To]Einen Status Script erstellen

08/07/2010 18:42 .Razed#7#1
Ich will euch heute zeigen wie ihr euch selber ein kleines Status Script erstellen könnt.

Vorworte:
Es ist ein kleines Script kann aber beliebig verändert werden so das es auch anzeigt wie viele Tickets etc offen sind.
Dazu aber später mehr.

Bitte kopiert nicht einfach die Codes sondern schreibt sie ab.
Wenn ihr Fehler macht um so besser denn dann könnt ihr um so mehr lernen.

Was ich brauche:
Novo's Handler mit der Datenbank, MySql Server, Apache Server
Brain.exe
Einen Editor (Ich benutze Notepad ++)
Lust etwas zu lernen

Anleitung:
Ihr startet in dem Ordner des Handlers ersmal diese Datei:
[Only registered and activated users can see links. Click Here To Register...]
Dann öffnet ihr euern Editor und schreibt zuerst das dort hinein:

PHP Code:
<?php
Das zeigt eurem Browser an das es sich nicht um HTML oder sonstiges handelt sondern um PHP.
Dann kommt die Config dran:

PHP Code:
$host "127.0.0.1:3316";
$user "root";
$pass "diamondcore"
$char_data "characters"
$host ist die Adresse wo sich das Script "anmeldet" und die Daten abfragt.
$user Ist der MySql Benutzer der für das anmelden genutzt wird.
$pass Ist das Passwort das benutzt wird um sich an den MySql Server anzumelden.
$char_data Ist die Datenbank auf die das Script zugreift.

Damit sich aber das Script an den MySql Server anmeldet braucht ihr dieses Script:

PHP Code:
$conn mysql_connect($host$user$pass) or die(mysql_error());
mysql_select_db($char_data$conn) or die(mysql_error()); 
$conn Ist nur eine abkürzung für den etwas längeren Befehl der dahinter steht.

Damit das Script aber weiß was es machen soll brauchen wir diesen Script Teil:

PHP Code:
$sql "SELECT SUM(online) FROM characters";
$sqlquery mysql_query($sql) or die(mysql_error());
$memb mysql_result($sqlquery,0,0); 
$sql Rechnet alle Spieler die Online sind zusammen.
Was $sqlquery bedeutet könnt ihr Googeln einfach nach Mysql query suchen. ^-^
$memb Gibt das Ergebnis herraus was $sql hat.

Aber da ihr bestimmt nicht nur eine Anzeige haben wollt für alle Spieler sondern auch für Allianz und Horde braucht ihr ersmal für die Allianz dieses Script:

PHP Code:
$asql "SELECT SUM(online) FROM characters WHERE race IN(1,3,4,7,11)";
$asqlquery mysql_query($asql) or die(mysql_error());
$amemb mysql_result($asqlquery,0,0); 
Eigentlich wieder das gleiche Prinzip wie bei dem Allgemeinen Script aber $asql zählt jetzt nicht alle zusammen sondern nur die Rassen die auch zu der Allianz gehören.
Der rest ist gleich wie bei dem Script für das Allgemeine anzeigen.

Für die Horde braucht ihr das Script:

PHP Code:
$hsql "SELECT SUM(online) FROM characters WHERE race IN(2,5,6,8,10)";
$hsqlquery mysql_query($hsql) or die(mysql_error());
$hmemb mysql_result($hsqlquery,0,0); 
Und da ist auch das gleiche Prinzip wie bei den anderen 2 Scripts nur hier werden die Rassen der Horde ausgewählt und nich der Allianz.

Zum beenden der MySql Verbindung geben wir am Ende der hier ein:

PHP Code:
mysql_close($conn);
?> 
mysql_close($conn); Schließt die Verbindung zum MySql Server und ?> zeigt eurem Browser dass das PHP Script zuende ist.

Aber jetzt fragt ihr euch bestimmt wenn ihr euer Dokument aufruft warum ihr nix seht.
Das liegt dadran dass die Ergenisse noch nicht aussgeben wurden.

Dafür brauchen wir diesen Mix an Scripten der aus HTML und PHP besteht:

HTML Code:
<html>
<head>
<title>Status Script</title>
</head>
<body bgcolor="black">
<center>
<br>
<br>
<br>
<font face="verdana" size="2,8" color="fdf5e6">Allgemein - <?php echo $memb; ?></font><br>
<font face="verdana" size="2,8" color="blue">Allianz - <?php echo $amemb; ?></font><br>
<font face="verdana" size="2,8" color="red">Horde - <?php echo $hmemb; ?></font<br>
</center>
</body>
</html>
Den hängen wir am Ende unseres Dokumentes an und speichern dieses unter irgeneinen Namen ab.
Aber mit der Endung ".php" das ist wichtig ansonsten funktioniert das Script nicht!

Das Resultat sieht dann wie folgt aus :

[Only registered and activated users can see links. Click Here To Register...]

PS: Älteres Script von mir also nicht meckern das es so einfach ist.
08/08/2010 17:00 .Razed#7#2
Noch niemand ausprobiert?
Push.
08/08/2010 17:18 -_Dark_KiLLeR_-#3
Nice Bei Mir Geht Es..
Also 100% Richtig
08/08/2010 18:28 .Razed#7#4
Gut, das es klappt. Freut mich.
02/05/2011 01:01 DeadDoozer#5
Funze einwandfrei THX habs nen bissel modifiziert mit Icons für ally und Horde :)
02/05/2011 09:35 scal#6
Sehr gut.
Ausführlich erklärt so ist es perfekt.
04/22/2012 12:41 Djstv#7
Vorworte:
Es ist ein kleines Script kann aber beliebig verändert werden so das es auch anzeigt wie viele Tickets etc offen sind.
Dazu aber später mehr.

Kannst du mir bitte erklären wie ich sowas zb. anzeigen lasse? oder wie ich einen realm Status noch mit einbauen kann?
05/19/2012 01:08 Sarumon#8
Ich würde sagen dazu sollten PHP Kenntnisse vorhanden sein.
Aber im Mangos Web CMS ist so etwas ähnliches enthalten.
Könntest da ja mal reingucken ;)