2

私は初心者なので、これが実際に可能かどうかはわかりません。

MySQL データベースに、相互に関連付けたい 2 つのフィールドがあります。

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

私はそうしたいlevel 1=Hobolevel 2=Shippaiなどなど

現在、次のようになっています。

Level: {$ir['level']}

そして、ウェブサイトで次のように表示したい:

Rank: Hobo

助けてくれてありがとう...

編集:

テーブルのコードは次のとおりです。




";
$exp=(int)($ir['exp']/$ir['exp_needed']*100);
print "
名前: {$ir['username']}クリスタル: {$cm}
レベル: { $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']} " ;
} 印刷 " プロパティ: {$ir['hNAME']}
経過日数: {$ir['daysold']} ヘルス: {$ir['hp']}/{$ir['maxhp']} エネルギー: {$ir['energy']}/{$ir[' maxenergy']} ブレイブ: {$ir['brave']}/{$ir['maxbrave']} 意志: {$ir['will']}/{$ir['maxwill']}
";

4

1 に答える 1

1

have、id(int、主キー、自動インクリメント)、name(char20)内にrank_defineという名前の新しいテーブルを作成し、名前付きランクを追加して、次のようにします。

id | 名前

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 に答える