• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

[PHP]Cenus

Status
Not open for further replies.

Koci1994

Banned User
Joined
Dec 27, 2008
Messages
807
Reaction score
1
Witam poszukuje takiego dodatku do acc gesiora zeby wskazywal ile % graczy jest np. knightem
Znalazlem juz jedno ale nie dzialalo
Wysakwilao mi :
Fatal error: Call to a member function query() on a non-object in D:\Programy\xampp\htdocs\census.php on line 2
census.php
Code:
   <?php
$genderCensus = $db->query('SELECT `sex` AS `key`, COUNT(`id`) AS `value` FROM {players} GROUP BY `sex`')->fetchAll(PDO::FETCH_KEY_PAIR);
$vocationCensus = $db->query('SELECT `vocation` AS `key`, COUNT(`id`) AS `value` FROM {players} GROUP BY `vocation`')->fetchAll(PDO::FETCH_KEY_PAIR);

// prepares calculation variables
$genderCount = array_sum($genderCensus) / 100;
$vocationCount = array_sum($vocationCensus) / 100;

$vocations = array();


foreach( $ots->getVocationsList() as $id => $name)
{
    $vocations[$name] = (int) $vocationCensus[$id] . ' (' . @intval($vocationCensus[$id] / $vocationCount) . '%)';
}

$gender = $template->createComponent('TableData');
$gender['caption'] = $language['Modules.Statistics.CensusGender'];
$gender['data'] = array($language['main.gender0'] => (int) $genderCensus[0] . ' (' . @intval($genderCensus[0] / $genderCount) . '%)', $language['main.gender1'] => (int) $genderCensus[1] . ' (' . @intval($genderCensus[1] / $genderCount) . '%)');


$vocation = $template->createComponent('TableData');
$vocation['caption'] = $language['Modules.Statistics.CensusVocation'];
$vocation['data'] = $vocations;

?>

Takie jak u Elfa :
HTML:
http://ots.dlagraczy.pl/index.php?subtopic=census
 
Weź w 2 pierwszych linijkach zamień
Code:
$db->query
na
Code:
$ots->query

i zobacz czy jest jakiś efekt. (pewności nie mam)
 
Przyłączam się do prośby, też tego potrzebuje...



PoZdro
 
wywal fetchall() i podaj error jaki wywali
 
Nie dziala jak wywale fetchAll(PDO::FETCH_KEY_PAIR)
 
Last edited:
PHP:
<?php
$voc=array(4=>'voc1',1=>'EK',2=>'XX',3=>'zz'); //tu sobie wyedtuj id => 'voc'
 
 
$genderCensus = $SQL->query('SELECT `sex` AS `key`, COUNT(`id`) AS `value` FROM `players` GROUP BY `sex`')->fetchAll(PDO::FETCH_KEY_PAIR);
$vocationCensus = $SQL->query('SELECT `vocation` AS `key`, COUNT(`id`) AS `value` FROM `players` GROUP BY `vocation`')->fetchAll(PDO::FETCH_KEY_PAIR);

// prepares calculation variables
$genderCount = array_sum($genderCensus) / 100;
$vocationCount = array_sum($vocationCensus) / 100;



$main_content .='<h1>Genders</h1>';
$main_content .='<table align="center" width="400px" border="1px">';


$gender = array('male'=> (int) $genderCensus[0] . ' (' . @intval($genderCensus[0] / $genderCount) . '%)','female' => (int) $genderCensus[1] . ' (' . @intval($genderCensus[1] / $genderCount) . '%)');
$main_content .= '<tr><td width="20%">Females: </td><td>'.$gender['female'].'</td></tr>';
$main_content .= '<tr><td width="20%">Males: </td><td>'.$gender['male'].'</td></tr>';

$main_content .='</table>';


$vocations = array();


foreach($voc as $id => $name)
{
    $vocations[$name] = (int) $vocationCensus[$id] . ' (' . @intval($vocationCensus[$id] / $vocationCount) . '%)';
}
$main_content .='<h1>Vocations</h1>';
$main_content .='<table align="center" width="400px" border="1px">';
for($i=1; $i<=count($voc); $i++) {
	$main_content .='<tr><td width="20%">'.$voc[$i].'</td><td>'.$vocations[$voc[$i]].'</td></tr>';
}
$main_content .='</table>';


?>
 
Status
Not open for further replies.
Back
Top