2

I'm kinda a noob so I don't know if this is actually possible.

I have two field in my MySQL database that I want to correlate:

Level int(11)
Rank enum('Hobo','Shippai','NoLifer',Troublemaker','gangster') (and so it continues.)

I want so that level 1=Hobo, level 2=Shippai etc. etc.

Currently it looks like this:

Level: {$ir['level']}

And want it to look like this on the website:

Rank: Hobo

Thanks in advance for any help...

Edit:

Here's the code for the table:




";
$exp=(int)($ir['exp']/$ir['exp_needed']*100);
print "
Name: {$ir['username']}Crystals: {$cm}
Level: {$ir['level']}
Exp: {$exp}%
Money: $fm
Gang: ";
$qs=$db->query("SELECT * FROM gangs WHERE gangID={$ir['gang']}");
$rs=$db->fetch_row($qs);
if(!$db->num_rows($qs) )
{
print "No Gang";
}
else
{
print" {$rs['gangNAME']} ";
} print " Property: {$ir['hNAME']}
Days Old: {$ir['daysold']} Health: {$ir['hp']}/{$ir['maxhp']} Energy: {$ir['energy']}/{$ir['maxenergy']} Brave: {$ir['brave']}/{$ir['maxbrave']} Will: {$ir['will']}/{$ir['maxwill']}
";

4

1 回答 1

1

在 have, id(int, primary key, auto increment), name(char20) 中创建一个名为 rank_define 的新表,添加您的命名排名,如下所示:

编号 | 姓名

1 | 流浪汉

2 | 石牌

在您的代码中

$user_id = 1; // or whatever the users rank is
$query = mysql_query("SELECT `name` FROM rank_define WHERE id='$user_id'");

这将返回一个结果集,因此您需要执行以下操作:

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    echo "rank: " . $row['name'];  // will output rank: Hobo
}

我认为这就是您的意思,是针对用户帐户还是其他不同的东西?这是假设没有帐户,您只是在搜索结果。

如果它是用户帐户系统的一部分,您将需要一个用户表,例如:id(auto inc、primary key、int)、name、rank 等。

在排名中,他们的排名是从 rank_define 表中插入的,因此 1 = hobo,2 = shippai 等。然后您将查询该表

更新的答案:

好的,所以你有 while 循环。while ($row = mysql_fetch_array($query, MYSQL_NUM)) {.

它会是这样的:

    <table>
    <?php
    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
        echo "<tr>";
        echo "<td>Name: " . $row['name'] . "</td>";  // will output their name / account whatever
        echo "<td>Rank: " . $row['rank'] . "</td>";  // will output their rank
        echo "</tr>";
    }
    ?>
</table>
于 2012-10-31T12:04:12.500 回答