PHP код:
/**
* Метод получения количества играющих в данный момент
* @return <int> количество игроков
*/
public function getCountPlayerIsOnline() {
$sql = 'SELECT COUNT(*) FROM `players` WHERE online = 1';
$result = $this->db->query($sql); DB::Closed();
return $result->rowCount();
}
Метод добавить в класс
PlayerInfo, который был приложен в первом сообщении. Так же, необходимо добавить код в конструктор класса PlayerInfo:
PHP код:
/**
* Конструктор класса PlayerInfo
*/
public function __construct() {
// здесь может быть ваш код ;)
}
>>
PHP код:
/**
* Конструктор класса PlayerInfo
*/
public function __construct() {
$this->db = DB::getInstance()->Connect(
'localhost', // Хост MySQL
'aion', // База данных
'root', // Пользователь
'vertrigo' // Пароль
);;
}
Подключиться к DB можно из любого файла, например index.php, если необходимо.
Необходимо также создать новый класс, с именем DB.class.php и поместить в него следующий код.
PHP код:
/**
* Класс DB
* @author PROGRAMMATOR <admin@zone-game.info>
* @link http://forum.zone-game.info/showthread.php?t=10110
* @copyright http://zone-game.info
*/
final class DB
{
protected static
/**
* Свойство содержит копию объекта DB
* @var <obj>
*/
$instance = null,
/**
* Свойство содержит копию объекта PDO
* @var <obj>
*/
$db = null;
/**
* Метод проверки и запуска только одного экземпляра
* @return <obj>
*/
public static function getInstance() {
if (is_null(self::$instance)) {
self::$instance = new self();
}
return self::$instance;
}
/**
* Конструктор класса DB
* @access <private>
*/
private function __construct() {
// здесь может быть ваш код.
}
/**
* Метод подключения к MySQL
* @param <string> $dbhost хост сервера
* @param <string> $dbname база данных
* @param <string> $dbuser пользователь
* @param <string> $dbpass пароль
* @return <obj> копия объекта PDO
*/
public static function Connect($dbhost, $dbname, $dbuser, $dbpass) {
if (is_null(self::$db)) {
self::$db = new PDO('mysql:host='.$dbhost.';dbname='.$dbname, $dbuser, $dbpass);
}
return self::$db;
}
/**
* Метод закрытия соединения с MySQL
* @return <null>
*/
public static function Closed() {
self::$db = null;
}
}
Обязательно убедиться, что подключены библиотеки в PHP.ini:
Цитата:
- extension=php_pdo.dll
- extension=php_pdo_mysql.dll
|
Дальше как обычно, подключение классов на страницы сайта:
PHP код:
require_once 'DB.class.php';
require_once 'PlayerInfo.class.php';
И непосредственно:
PHP код:
$playerInfo = new PlayerInfo();
echo $playerInfo->getCountPlayerIsOnline();
Насчет квадратика - здесь уже html поможет, типа:
Код HTML:
<span class="online"><?php echo $playerInfo->getCountPlayerIsOnline();?></span>
И задать стили (CSS) для span.online. А там вы как понимаете возможно многое. Если сложно работать с PDO, то можете продолжать генерировать кучи mysql_connect и прочей хр*н* в коде, но я буду давать код только под PDO.
Если есть вопросы - пожалуйста, задавайте.