これにタイトルを付ける良い方法が本当に見つからなかったので、誤解を招く場合は申し訳ありませんが、私がやろうとしているのは、プレーヤーが獲得するバッジを持っていて、バッジをクリックできるようにしたいということです。 jquery を使用してロードする別の説明を取得します。すでに部分的に機能していますが、問題は最後のバッジの情報しか取得できないことです。私はそれがなぜこれを行うのか知っています (私は、php がページで最初に読み込まれ、配列である必要があると思います。または、本当にばかげているように聞こえるかもしれません) これまでの私のコードは次のとおりです。
<table id="table-profile" width="78%">
<tr>
<td><h3><?php echo "$usernameprofile";?>'s Badges (work in progress!!!!!!!) | <a href="#">View All</a></h3></td>
</tr>
<tr>
<td><?
$sqlbadges = mysql_query("SELECT * FROM membersbadges WHERE username='$usernameprofile' LIMIT 8
");
$checkbadges = mysql_num_rows($sqlbadges);
if($checkbadges == "0"){
echo "User is currently badgeless";
}else{
?>
<table width="100%">
<?php
$tableCount = 0;
$tableRowOpen = false;
while($rowbadge = mysql_fetch_assoc($sqlbadges)) {
$bid = $rowbadge['badgeid'];
$getbadge = mysql_query("SELECT * FROM badges WHERE id='$bid'");
while($rowbadge2 = mysql_fetch_assoc($getbadge)){
$badgeid = $rowbadge2['id'];
$badgename = $rowbadge2['name'];
$badgedesc = $rowbadge2['description'];
$badgereward = $rowbadge2['reward'];
$badgerequirements = $rowbadge2['requirements'];
$badgepic = $rowbadge2['image'];
$date = strftime("%b %d, %Y", strtotime($rowbadge2['date']));
}
if($tableCount == 0){
echo "<tr>";
$tableRowOpen = true;
}
echo"<td width='25%'>";
echo "<badge".$badgeid.">
<img src=\"http://my.iheff.net/images/badges/".$badgepic.".png\" border=2 alt=\"
" . $row["name"] . "\" height=40px width=40px></a></badge".$badgeid.">" ;
echo"<br/><br/></td>";
if($tableCount + 1 == 4){
$tableCount = 0;
echo "</tr>";
$tableRowOpen = false;
}
else{
$tableCount++;
}
}
if($tableRowOpen){
echo "
</tr>
";
}
echo"
<table id='badgeinfo".$badgeid."' style='display:none' width='80%' border='0' cellspacing='5' cellpadding='10'>
<tr>
<th colspan='2' scope='col'>".$badgename."</th>
</tr>
<tr>
<td>Description:</td>
<td>".$badgedesc."</td>
</tr>
<tr>
<td>Reward:</td>
<td>+".$badgereward." Experience</td>
</tr>
</table>
";
?>
</table>
<?
}
?></td>
</tr>
</table>
<script>
$("badge<?php echo "$badgeid"?>").click(function () {
$("#badgeinfo<?php echo "$badgeid"?>").toggle("slow");
});
</script>
厄介なコードで申し訳ありません。私は PHP の達人には程遠いです。しかし、私はどんな助けにも感謝します。ありがとう!
ページが実際にどのように表示されるかを確認したい場合は、次のサンプル ページをご覧ください。http://my.iheff.net/profile.php?id=1637