0

PHP/MYSQL を使用して小さなプロジェクトを作成していますが、必要な方法でクエリを実行できません。私は2つのテーブルを持っています

表 1 (文字):

Id, name.

表 2 (呪文):

Id, char, spell_name.

私は出力を得ています:

Name Spell1
Name Spell2
Name Spell3

しかし、私はそれが必要です:

Name Spell1
     Spell2
     Spell3

これが私のクエリです:

 $query = "SELECT char.name AS name, spells.spell_name AS spell
              FROM char, spells
              WHERE (char.id = spells.spell_name)";

何か案は?

4

2 に答える 2

0

Goldentoa11が書いたように。2 つの選択を行うか、2 つの結果セットを持つクエリを作成する (1 つのコマンドでより多くの選択を行う) か、現在の状態を受け入れる (これは正常であり、データの一貫性を検証できます)。私は現在の状態を好みますが、説明されているソリューションのいずれかを使用することがあります (クエリの頻度、結果のサイズなどに基づいて)。

そのようなデータをリストする必要がある場合は、次のようなものを使用できます。

$currentName = null;

while ($row = mysql_fetch_object($result))
{
    if ($currentName != $row->name)
    {
        echo "<b>" . $row->name . "</b><br />";
        $currentName = $row->name;
    }

    echo $row->spell_name . "<br />";
}
于 2013-06-21T16:59:19.030 に答える