Показать сообщение отдельно
Непрочитано 16.09.2010, 17:29   #15
Аватар для PROGRAMMATOR
Администратор

Автор темы (Топик Стартер) Re: PHP скрипты и просто код, который можно и нужно использовать на своем сайте

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:

Цитата:
  1. extension=php_pdo.dll
  2. 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.

Если есть вопросы - пожалуйста, задавайте.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием