Online hráči - Horda a Aliance - rozdělení: Porovnání verzí

Z WoWResource Wiki
Přejít na: navigace, hledání
(Nová stránka: V tomto článku se zaměříme na PHP funkci, která vytáhne informaci o počtu aliačních online hráčů, horde online hráčů a celkový výsledek z databáze. <pre> <?ph...)
 
m
 
Řádek 16: Řádek 16:
 
   $Query = "SELECT COUNT(*) FROM characters WHERE online = 1 AND race IN (2, 5, 6, 8, 10)";
 
   $Query = "SELECT COUNT(*) FROM characters WHERE online = 1 AND race IN (2, 5, 6, 8, 10)";
 
   $DbResult = mysql_query($Query, $DbSession);
 
   $DbResult = mysql_query($Query, $DbSession);
   $DbRow = mysql_fetch_array($DbResult);
+
   $DbRow = mysql_fetch_row($DbResult);
 
   $Count = $DbRow[0];
 
   $Count = $DbRow[0];
  return($Count);
 
 
   mysql_free_result($DbResult);
 
   mysql_free_result($DbResult);
 
   mysql_close();  
 
   mysql_close();  
 +
  return($Count);
 
}
 
}
  
Řádek 30: Řádek 30:
 
   $Query = "SELECT COUNT(*) FROM characters WHERE online = 1 AND race IN (1, 3, 4, 7, 11)";
 
   $Query = "SELECT COUNT(*) FROM characters WHERE online = 1 AND race IN (1, 3, 4, 7, 11)";
 
   $DbResult = mysql_query($Query, $DbSession);
 
   $DbResult = mysql_query($Query, $DbSession);
   $DbRow = mysql_fetch_array($DbResult);
+
   $DbRow = mysql_fetch_row($DbResult);
 
   $Count = $DbRow[0];
 
   $Count = $DbRow[0];
  return($Count);
 
 
   mysql_free_result($DbResult);
 
   mysql_free_result($DbResult);
 
   mysql_close();  
 
   mysql_close();  
 +
  return($Count);
 
}
 
}
  
 
function OnlinePlayersCountAlianceAndHorde()
 
function OnlinePlayersCountAlianceAndHorde()
 
{
 
{
return OnlinePlayersCountHorde() + OnlinePlayersCountAliance();
+
  return OnlinePlayersCountHorde() + OnlinePlayersCountAliance();
 
}
 
}
  
Řádek 45: Řádek 45:
  
 
echo ('<table><tr><td align=\"center\">Aliance</td><td align=\"center\">Horda</td><td align=\"center\">Celkem</td></tr>');
 
echo ('<table><tr><td align=\"center\">Aliance</td><td align=\"center\">Horda</td><td align=\"center\">Celkem</td></tr>');
echo('<tr><th>'.OnlinePlayersCountAliance());
+
echo ('<tr><th>'.OnlinePlayersCountAliance());
 
echo ('</th>');
 
echo ('</th>');
echo('<th>'.OnlinePlayersCountHorde());
+
echo ('<th>'.OnlinePlayersCountHorde());
 
echo ('</th>');
 
echo ('</th>');
echo('<th>'.OnlinePlayersCountAlianceAndHorde());
+
echo ('<th>'.OnlinePlayersCountAlianceAndHorde());
 
echo ('<th></tr></table>');
 
echo ('<th></tr></table>');
 
?>
 
?>
Řádek 55: Řádek 55:
  
 
Toto je zdrojový kód stránky, který nám vytáhne počet aliančních online hráčů, horde online hráčů a celkový součet všech online hráčů. Následný výstup bude vypadat například takto:<br>
 
Toto je zdrojový kód stránky, který nám vytáhne počet aliančních online hráčů, horde online hráčů a celkový součet všech online hráčů. Následný výstup bude vypadat například takto:<br>
Aliance Horda Celkem
 
 
27 18 45
 
  
 +
{|
 +
| Aliance || Horda ||Celkem
 +
|-
 +
| 27 || 18 || 45
 +
|}
 
== Vysvětlení kódu ==
 
== Vysvětlení kódu ==
  
Řádek 80: Řádek 82:
 
'''SELECT''' - Znamená výběr a čtení dat.
 
'''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.
+
'''COUNT(*)''' - Říká, že nechceme číst všechny vyhovující řádky, ale zajímá nás pouze jejich počet.
  
 
'''FROM''' - Určuje z jakou tabulkou se bude pracovat.
 
'''FROM''' - Určuje z jakou tabulkou se bude pracovat.
Řádek 95: Řádek 97:
 
V posledních řádcích se už jedná pouze o výpis výsledku funkce.
 
V posledních řádcích se už jedná pouze o výpis výsledku funkce.
  
[[Category:PHP Funkce pro MaNGOS]]
+
[[Kategorie:PHP Funkce pro MaNGOS]]

Aktuální verze z 11. 5. 2008, 10:59

V tomto článku se zaměříme na PHP funkci, která vytáhne informaci o počtu aliačních online hráčů, horde online hráčů a celkový výsledek z databáze.

<?php
$adress = '127.0.0.1';
$user = 'root';
$pass = 'password';
$chardb = 'characters';


function OnlinePlayersCountHorde()
{
  global $adress, $user, $pass, $chardb;
  $DbSession = mysql_connect($adress, $user, $pass);
  mysql_select_db($chardb, $DbSession);
  $Query = "SELECT COUNT(*) FROM characters WHERE online = 1 AND race IN (2, 5, 6, 8, 10)";
  $DbResult = mysql_query($Query, $DbSession);
  $DbRow = mysql_fetch_row($DbResult);
  $Count = $DbRow[0];
  mysql_free_result($DbResult);
  mysql_close(); 
  return($Count);
}

function OnlinePlayersCountAliance()
{
  global $adress, $user, $pass, $chardb;
  $DbSession = mysql_connect($adress, $user, $pass);
  mysql_select_db($chardb, $DbSession);
  $Query = "SELECT COUNT(*) FROM characters WHERE online = 1 AND race IN (1, 3, 4, 7, 11)";
  $DbResult = mysql_query($Query, $DbSession);
  $DbRow = mysql_fetch_row($DbResult);
  $Count = $DbRow[0];
  mysql_free_result($DbResult);
  mysql_close(); 
  return($Count);
}

function OnlinePlayersCountAlianceAndHorde()
{
  return OnlinePlayersCountHorde() + OnlinePlayersCountAliance();
}



echo ('<table><tr><td align=\"center\">Aliance</td><td align=\"center\">Horda</td><td align=\"center\">Celkem</td></tr>');
echo ('<tr><th>'.OnlinePlayersCountAliance());
echo ('</th>');
echo ('<th>'.OnlinePlayersCountHorde());
echo ('</th>');
echo ('<th>'.OnlinePlayersCountAlianceAndHorde());
echo ('<th></tr></table>');
?>

Toto je zdrojový kód stránky, který nám vytáhne počet aliančních online hráčů, horde online hráčů a celkový součet všech online hráčů. Následný výstup bude vypadat například takto:

Aliance Horda Celkem
27 18 45

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($adress, $user, $pass);
  mysql_select_db($chardb, $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 AND race IN (1, 3, 4, 7, 11)";

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 vyhovují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.

"AND race IN (1, 3, 4, 7, 11)" - Dodatek, který zadává informaci o tom, že ve sloupci RACE má být jedno z čísel 1, 3, 4, 7, 11


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