Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Database {
- private $conn;
- private $host;
- private $user;
- private $pass;
- private $data;
- private $table;
- public function __construct($host, $user, $pass, $data) {
- $this->host = $host;
- $this->user = $user;
- $this->pass = $pass;
- $this->data = $data;
- }
- public function connect() {
- try {
- $this->conn = new PDO('mysql:host='.$this->host.';dbname='.$this->data.';charset=utf8', $this->user, $this->pass);
- $this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
- $this->conn->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
- return true;
- } catch (Exception $e) {
- return false;
- }
- }
- public function setTable($table) {
- $this->table = $table;
- }
- public function countUsers() {
- $stmt = $this->$conn->prepare("SELECT * FROM $this->table LIMIT 500");
- $stmt->execute();
- return count($stmt->fetchAll(PDO::FETCH_ASSOC));
- }
- public function getUser($name) {
- $stmt = $this->conn->prepare("SELECT * FROM $this->table WHERE username=:name");
- $stmt->bindParam(":name", $name);
- $stmt->execute();
- return $stmt->fetch(PDO::FETCH_ASSOC);
- }
- public function getAllUsers($skill, $min) {
- $stmt = $this->conn->prepare("SELECT * FROM $this->table ORDER BY $skill DESC LIMIT $min, 25");
- $stmt->execute();
- return $stmt->fetchAll(PDO::FETCH_ASSOC);
- }
- public function getRank($user, $skill) {
- $sk = strtolower($skill)."_xp";
- $stmt = $this->conn->prepare("SELECT * FROM $this->table ORDER BY ".$sk." DESC LIMIT 200");
- $stmt->execute();
- $results = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $count = 1;
- foreach ($results as $entry) {
- if (strtolower($entry['username']) == strtolower($user)) {
- return $count;
- }
- $count++;
- }
- return "--";
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement