• 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!

Najsilniejsze gildie.

Matis415

rgdx
Joined
May 2, 2010
Messages
15
Reaction score
0
Cześć, mam problem z tym oto skryptem
PHP:
<?PHP
    $main_content .= '<div style="text-align: center; font-weight: bold;"><h2>Top 15 guilds on ' . $config['server']['serverName'] . '</h2></div>
<center><table border="0" cellspacing="1" cellpadding="4" width="80%">
    <tr bgcolor="'.$config['site']['vdarkborder'].'">
        <td width="10%"><b><font color=white><center>Pos</font></center></b></td>
        <td width="20%"><b><font color=white><center>Logo</center></b></font></td>
        <td width="30%"><b><font color=white><center>Guild Name</center></b></font></td>
        <td width="20%"><b><font color=white><center>Kills</center></b></font></td>
    </tr>';
$i = 0;
foreach($SQL->query('SELECT `g`.`id` AS `id`, `g`.`name` AS `name`,
    `g`.`logo_gfx_name` AS `logo`, COUNT(`g`.`name`) as `frags`
    FROM `killers` k
    LEFT JOIN `player_killers` pk ON `k`.`id` = `pk`.`kill_id`
    LEFT JOIN `players` p ON `pk`.`player_id` = `p`.`id`
    LEFT JOIN `guild_ranks` gr ON `p`.`rank_id` = `gr`.`id`
    LEFT JOIN `guilds` g ON `gr`.`guild_id` = `g`.`id`
   WHERE `k`.`unjustified` = 1 AND `k`.`final_hit` = 1
    GROUP BY `name`
    ORDER BY `frags` DESC, `name` ASC
    LIMIT 0, 15;') as $guild)
{
    $i++;
    $main_content .= '<tr bgcolor="' . (is_int($i / 2) ? $config['site']['lightborder'] : $config['site']['darkborder']). '">
        <td>            
            <center>'.$i.'</center>
        </td>
        <td>            
            <center><img src="guilds/' . ((!empty($guild['logo']) && file_exists('guilds/' . $guild['logo'])) ? $guild['logo'] : 'default_logo.gif') . '" width="64" height="64" border="0"/></center>
        </td>
        <td>
            <center><a href="?subtopic=guilds&action=show&guild=' . $guild['id'] . '">' . $guild['name'] . '</a></center>
        </td>
        <td>
            <center>' . $guild['frags'] . ' kills</center>
        </td>
    </tr>';
}
$main_content .= '</table><br />';
$main_content .= '<div style="text-align: right; font-size: 10;">Based on <a href=http://otland.net/members/elf>Elf\'s</a> code. System  made by <a href=http://otland.net/members/kekox>Kekox.</a></div>';
?>
Po prostu - nie pokazuje żadnej gildii, mimo, że przynajmniej 1 osobę zabiłem z wrogiej gildii - co jest nie tak? Muszę jakieś dodatkowe zapytanie do bazy danych wysłać?
 
Nie mogę podać strony, bo jest na lanie. Spróbuję stworzyć nową gildię i dam znać, czy dalej pokazuje tylko jedną.

@edit Nawet nie pokazuje, że jest trzecia gildia - to musi być coś w skrypcie.

@edit2 Już wiem z czym jest error - pokazuje drugą gildie, ale automatycznie dodaje trzecią pustą - trzeba ją jakoś usunąć.

- - - Updated - - -

NAPRAWIŁEM! Jak ktoś będzie potrzebował, oto kod:
PHP:
<?PHP
    $main_content .= '<div style="text-align: center; font-weight: bold;"><h2>Top 15 guilds on ' . $config['server']['serverName'] . '</h2></div>
<center><table border="0" cellspacing="1" cellpadding="4" width="80%">
    <tr bgcolor="'.$config['site']['vdarkborder'].'">
        <td width="10%"><b><font color=white><center>Pos</font></center></b></td>
        <td width="20%"><b><font color=white><center>Logo</center></b></font></td>
        <td width="30%"><b><font color=white><center>Guild Name</center></b></font></td>
        <td width="20%"><b><font color=white><center>Kills</center></b></font></td>
    </tr>';
$i = 0;
foreach($SQL->query('SELECT `g`.`id` AS `id`, `g`.`name` AS `name`,
    `g`.`logo_gfx_name` AS `logo`, COUNT(`g`.`name`) as `frags`
    FROM `killers` k
    LEFT JOIN `player_killers` pk ON `k`.`id` = `pk`.`kill_id`
    LEFT JOIN `players` p ON `pk`.`player_id` = `p`.`id`
    LEFT JOIN `guild_ranks` gr ON `p`.`rank_id` = `gr`.`id`
    LEFT JOIN `guilds` g ON `gr`.`guild_id` = `g`.`id`
    GROUP BY `name`
    ORDER BY `frags` DESC, `name` ASC
    LIMIT 0, 15;') as $guild)
{
    if(!$guild['name'] == "")
	{
    $i++;
    $main_content .= '<tr bgcolor="' . (is_int($i / 2) ? $config['site']['lightborder'] : $config['site']['darkborder']). '">
        <td>            
            <center>'.$i.'</center>
        </td>
        <td>            
            <center><img src="images/guilds/' . ((!empty($guild['logo']) && file_exists('images/guilds/' . $guild['logo'])) ? $guild['logo'] : 'default_logo.gif') . '" width="64" height="64" border="0"/></center>
        </td>
        <td>
            <center><a href="?subtopic=guilds&action=show&guild=' . $guild['name'] . '">' . $guild['name'] . '</a></center>
        </td>
        <td>
            <center>' . $guild['frags'] . ' kills</center>
        </td>
    </tr>';
	}
}
$main_content .= '</table><br />';
$main_content .= '<div style="text-align: right; font-size: 10;"></div>';

?>
Chodzi o to, że trzeba było dodać linijkę, która sprawdza, czy nazwa gildii jest pusta, jeśli nie jest, wyświetla gildię.
 
Last edited:
Back
Top