Centre de Téléchargement
Télécharger ( Interne )
Bonsoir,
Ancien metinien et gérant de serveur privé, j'ai voulu voir comment à évoluer metin2 depuis ses 5 dernières années et surtout niveau des site web étant spécialisé dans la création de site web.
Alors j'ai voulu faire un script pour que vous puissiez afficher les informations que vous voulez sur votre site de manière simplifié.
Avec ce code vous pourrez afficher les nombre de compte et joueurs créés mais aussi les nombre de compte par empire, de joueurs par empire, de joueurs homme et femme et nombre de race de personnage créés.
Passons au vif du sujet, vous aurez besoin:
- Créez un fichier du nom de Class.information.php (ou vous voulez, il faudra juste modifier dans l'autoloader si vous le mettez dans un dossier)
- Créez un fichier du nom de autoloader.php (ou vous voulez...)
dans le Class.information.php copier/coller mon code:
<?php
class Information{
private $_db;
public function __construct($db){
$this->setDb($db);
}
public function setDb(PDO $db){
$this->_db = $db;
}
public function nombreDeCompte(){
return $this->_db->query("SELECT COUNT(id) FROM account.account WHERE id")->fetchColumn();
}
public function nombreDeJoeurs(){
return $this->_db->query("SELECT COUNT(id) FROM player.player WHERE id")->fetchColumn();
}
public function nombreDeGuerrier(){
$req = $this->_db->prepare("SELECT COUNT(id) FROM player.player WHERE job = :job0 OR job = :job4");
$req->execute([":job0" => 0, ":job4" => 4]);
return $req->fetchColumn();
}
public function nombreDeSura(){
$req = $this->_db->prepare("SELECT COUNT(id) FROM player.player WHERE job = :job2 OR job = :job6");
$req->execute([":job2" => 2, ":job6" => 6]);
return $req->fetchColumn();
}
public function nombreDeNinja(){
$req = $this->_db->prepare("SELECT COUNT(id) FROM player.player WHERE job = :job1 OR job = :job5");
$req->execute([":job1" => 1, ":job5" => 5]);
return $req->fetchColumn();
}
public function nombreDeChaman(){
$req = $this->_db->prepare("SELECT COUNT(id) FROM player.player WHERE job = :job3 OR job = :job7");
$req->execute([":job3" => 3, ":job7" => 7]);
return $req->fetchColumn();
}
public function nombreDePersoHomme(){
$req = $this->_db->prepare("SELECT COUNT(id) FROM player.player WHERE job = :job0 OR job = :job2 OR job = :job5 OR job = :job7");
$req->execute([":job0" => 0, ":job2" => 2, ":job5" => 5, ":job7" => 7]);
return $req->fetchColumn();
}
public function nombreDePersoFemme(){
$req = $this->_db->prepare("SELECT COUNT(id) FROM player.player WHERE job = :job1 OR job = :job3 OR job = :job4 OR job = :job6");
$req->execute([":job1" => 1, ":job3" => 3, ":job4" => 4, ":job6" => 6]);
return $req->fetchColumn();
}
public function nombreDeCompteRouge(){
$req = $this->_db->prepare("SELECT COUNT(id) FROM account.account WHERE empire = :empire");
$req->execute([":empire" => 1]);
return $req->fetchColumn();
}
public function nombreDeCompteJaune(){
$req = $this->_db->prepare("SELECT COUNT(id) FROM account.account WHERE empire = :empire");
$req->execute([":empire" => 2]);
return $req->fetchColumn();
}
public function nombreDeCompteBleu(){
$req = $this->_db->prepare("SELECT COUNT(id) FROM account.account WHERE empire = :empire");
$req->execute([":empire" => 3]);
return $req->fetchColumn();
}
public function nombreDeJoueursRouge(){
$req = $this->_db->prepare("SELECT COUNT(player.id) FROM player.player, account.account WHERE account_id = account.id AND account.empire = :empire");
$req->execute([":empire" => 1]);
return $req->fetchColumn();
}
public function nombreDeJoueursJaune(){
$req = $this->_db->prepare("SELECT COUNT(player.id) FROM player.player, account.account WHERE account_id = account.id AND account.empire = :empire");
$req->execute([":empire" => 2]);
return $req->fetchColumn();
}
public function nombreDeJoueursBleu(){
$req = $this->_db->prepare("SELECT COUNT(player.id) FROM player.player, account.account WHERE account_id = account.id AND account.empire = :empire");
$req->execute([":empire" => 3]);
return $req->fetchColumn();
}
}
et dans autoloader.php:
function Autoload($class){
require "Class.". strtolower($class) .".php";
}
c'est bien beau tout ça mais comment ça marche ?
- Déjà on va appeler autoload.php
Il est important qu'il soit appelé en 1ère ligne avant votre
entrez ce code:
require_once "autoloader.php";
spl_autoload_register("Autoload");
ensuite il vous faut une connexion serveur de type PDO vous pouvez le mettre à la suite, vous pouvez aussi utilisez la votre tant que c'est sous ce format sinon ajoutez.
try {
$db = new PDO("mysql:host=localhost;charset=utf8", "root", "");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}catch (Exception $e){
die($e->getMessage());
}
Voilà le gros du travail est fait maintenant comment appeler les fonctions ?
Alors déjà on doit instancier la variable $db, pour cela rien de plus simple on a besoin de le faire une seule fois:
$infoServeur = new Information($db);
je vous conseille de le mettre à la suite de la connexion PDO.
Maintenant il ne vous reste qu'à appeler les méthodes.
Quand vous voulez afficher le nombre de compte par exemple faite:
echo $infoServeur->nombreDeCompte();
Et voilà le tour est joué.
nombreDeCompte() -> affiche le nombre de compte créer
nombreDeJoeurs() -> affiche le nombre de joueurs
nombreDeGuerrier() -> affiche le nombre de guerrier
nombreDeSura() -> affiche le nombre de sura
nombreDeNinja() -> affiche le nombre de ninja
nombreDeChaman() -> affiche le nombre de chaman
nombreDePersoHomme() -> affiche le nombre d'homme
nombreDePersoFemme() -> affiche le nombre de femme
nombreDeCompteRouge() -> affiche le nombre de compte Rouge
nombreDeCompteJaune() -> affiche le nombre de compte Jaune
nombreDeCompteBleu() -> affiche le nombre de compte Bleu
nombreDeJoueursRouge() -> affiche le nombre de joueurs rouge
nombreDeJoueursJaune() -> affiche le nombre de joueurs jaune
nombreDeJoueursBleu() -> affiche le nombre de joueurs bleu