Online hráči

Z WoWResource Wiki
Přejít na: navigace, hledání

V tomto článku se zaměříme na PHP funkci, která vytáhne informaci o počtu online hráčů z databáze.

<?php

$Host = 'localhost';
$User = 'root';
$Password = 'password';
$CharacterDb = 'characters';

function OnlinePlayersCount()
{
  global $Host, $User, $Password, $CharacterDb;
  $DbSession = mysql_connect($Host, $User, $Password);
  mysql_select_db($CharacterDb, $DbSession);
  $Query = "SELECT COUNT(*) FROM `characters` WHERE `online` = 1";
  $DbResult = mysql_query($Query, $DbSession);
  $DbRow = mysql_fetch_array($DbResult);
  $Count = $DbRow[0];
  return($Count);
  mysql_free_result($DbResult);
  mysql_close();
}

echo('Online hráčů: '.OnlinePlayersCount());

?>


Toto je zdrojový kód stránky, který nám vytáhne počet online hráčů. Následný výstup bude vypadat například takto:
Online hráčů: 10

Vysvětlení kódu

Nyní tento kód rozebereme, co znamená co. První 4 řádky jsou konfigurační proměnné. Tvoří se spíše z přehlednosti, jinak by šly samotné informace vložit přímo do kódu bez proměnných.

$DbSession = mysql_connect($Host, $User, $Password);
mysql_select_db($CharacterDb, $DbSession);

První řádek zadává příkaz o připojení k MySQL databázi, druhý řádek udává výběr s jakou databází budeme pracovat (mysql_select_db samotně vypadá jako mysql_vyber_databázi).

$Query = "SELECT COUNT(*) FROM `characters` WHERE `online` = 1";

Query - Znamená v překladu dotaz, jde tedy o zadání a provedení dotazu na MySQL server pomocí PHP. Následně dostaneme odpověd.

SELECT - Znamená výběr a čtení dat.

COUNT(*) - Říká, že nechceme číst všechny výhovující řádky, ale zajímá nás pouze jejich počet.

FROM - Určuje z jakou tabulkou se bude pracovat.

WHERE - Upřesňující podmínka, která zužuje výběr dat.

online - Sloupec v tabulce characters.

"1" - Určuje informaci, co má v daném sloupci být, aby byl vybrán. 1 = postava online, 0 = postava offline.


V posledních řádcích se už jedná pouze o výpis výsledku funkce.