Online hráči - Horda a Aliance - rozdělení: Porovnání verzí
(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 = | + | $DbRow = mysql_fetch_row($DbResult); |
$Count = $DbRow[0]; | $Count = $DbRow[0]; | ||
− | |||
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 = | + | $DbRow = mysql_fetch_row($DbResult); |
$Count = $DbRow[0]; | $Count = $DbRow[0]; | ||
− | |||
mysql_free_result($DbResult); | mysql_free_result($DbResult); | ||
mysql_close(); | mysql_close(); | ||
+ | return($Count); | ||
} | } | ||
function OnlinePlayersCountAlianceAndHorde() | function OnlinePlayersCountAlianceAndHorde() | ||
{ | { | ||
− | + | 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 | ||
+ | |} | ||
== 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 | + | '''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. | ||
− | [[ | + | [[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.