Witam.
Obecnie hostuje pewien serwer gier.
Moja strona jest połączona z bazą danych MYSQL, gdzie są zapisywane wszystkie dane o moich graczach.
Moja strona wyświetla profil każdego gracza, np:
http://danera.no-ip.org/characters.php?player_name=CapiscoJak widać na stronie, wyświetlają się Latest Deaths (śmierci gracza), mój problem polega na tym, że wyświetla tylko
jedno zginięcie gracza, a chciałbym, by wyświetlało wszystkie jego polegnięcia.
Kod PHP, którym pobieram dane z bazy danych i wyświetlam:
<?php
try {
$player = new Player();
if (!empty($_GET['player_id'])) { $player->load($_GET['player_id']);
} elseif (!empty($_GET['player_name'])) { $player->find($_GET['player_name']);
} else {
throw new PlayerException();
}
$account = new Account();
$account->load($player->attrs['account']);
echo '<hr/><table style="width: 100%"><tr><td><b>Name:</b> '.htmlspecialchars($player->attrs['name']).' '; if($player->isOnline()) echo '<span style="color:green">[Online]</span>'."<br/>\n"; else echo '<span style="color:red">[Offline]</span>'."<br/>\n"; echo '<b>Level:</b> '.$player->attrs['level']."<br/>\n"; echo '<b>Magic Level:</b> '.$player->attrs['maglevel']."<br/>\n"; echo '<b>Vocation:</b> '.$cfg['vocations'][$player->attrs['vocation']]['name']."<br/>\n";
try {
echo '<b>Guild:</b> '.$player->guild['guild_rank_name'].' of <a href="guilds.php?guild_id='.$player->guild['guild_id'].'">'.htmlspecialchars($player->guild['guild_name']).'</a><br/>'."\n"; } catch(GuildNotFoundException $e) {}
$gender = Array('Female','Male'); echo '<b>Gender:</b> '.$gender[$player->attrs['sex']].'<br/>'."\n"; if (!empty($cfg['temple'][$player->attrs['city']]['name'])) echo "<b>Residence</b>: ".ucfirst($cfg['temple'][$player->attrs['city']]['name'])."<br/>";
if (isset($player->attrs['position'])) { echo "<b>Position: </b> ".$player->attrs['position']."<br/>"; }
if ($account->attrs['premend'] > time()) { echo "<b>Premium: </b> ".ceil(($account->attrs['premend'] - time())/(3600*24))." day(s)<br/>"; }
if ($player->attrs['lastlogin'] == 0)
$lastlogin = 'Never';
else
$lastlogin = date("jS F Y H:i:s",$player->attrs['lastlogin']); echo "<b>Last Login:</b> ".$lastlogin."<br/>\n"; if ($cfg['show_skills']) {
$sn = $cfg['skill_names'];
for ($i=0; $i < count($sn); $i++) { echo '<b>'.ucfirst($sn[$i]).':</b> '.$player->skills[$i]['skill']."<br/>\n"; }
}
if (strlen($account->attrs['comment'])>0
) { echo "<b>Comments</b><br/><div style=\"overflow:hidden\"><pre>".htmlspecialchars($account->attrs['comment'])."</pre></div><br/>\n"; }
if ($account->attrs['reveal_characters'] && $account->players && count($account->players) > 1
) { echo '<b>Characters on the same account</b><br/><ul class="task-menu">'; foreach ($account->players as $_player) {
echo '<li style="background-image: url(resource/user.png);" onclick="window.location.href=\'characters.php?player_id='.htmlspecialchars($_player['id']).'\'">'.htmlspecialchars($_player['name']).'</li>'; }
}
if ($cfg['show_deathlist']) {
if ($player->deaths) {
echo '<b>Latest Deaths</b><br/>'; $prevdate = 0;
foreach ($player->deaths as $death) {
if ($death['killer_id'])
$name = '<a href="characters.php?player_id='.$death['killer_id'].'">'.$death['killer_name'].'</a>';
else
$name = $death['killer_name'];
if($prevdate == $death['date'])
echo ' and by '.$name.'<br/>'; else
echo '<i>'.date("jS F Y H:i:s",$death['date']).'</i> Killed at level '.$death['victim_level'].' by '.$name.'<br/>'; $prevdate = $death['date'];
}
}
}
} catch(PlayerNotFoundException $e) {
} catch(PlayerException $e) {}
?>
Struktura mojej bazy danych:
(IMG:
http://oi48.tinypic.com/2ia7psp.jpg)
W kodzie PHP jest pętla
foreach, baza danych przechowuje
wszystkie jego polegnięcia, lecz wyświetla tylko jedno.
Czy ktoś byłby w stanie mi pomóc?