0

混合されているトピックのカテゴリとタイプのリストをphpで作成するにはどうすればよいですか?

つまり、リストは次のようになります。

Sports (this is a category)
    Soccer (this is a type)
    Golf (this is a type)
    Basketball (this is a type)
Science (this is a category)
    Biology (this is a type)
    Chemistry (this is a type)
    Anatomy (this is a type)

難しいのは、スポーツと科学は同じテーブル (カテゴリと呼ばれる) から来ており、サッカー、ゴルフ、バスケットボール、生物学、化学、解剖学はすべて別のテーブル (タイプと呼ばれる) から来ているということです。MySQL テーブルの「タイプ」には、カテゴリ テーブルのエントリの ID を指す外部キーがあります。サイトのナビゲーションが MySQL に依存しているため、MySQL の現在の設定を簡単に変更することはできません。

どのようにphpを使用してタイプをカテゴリ間に配置できますか?

現在、私が持っているコードは次のとおりです。

<?php session_start ();

include 'connect.php';

$result = mysql_query("SELECT * FROM categories JOIN types ON categories.catid = types.typecat");


while($row = mysql_fetch_array($result))
{
echo $row["catname"];
}


?>

ただし、それは「SportsSportsSportsSportsSportsScienceScienceScience」を出力しますが、これは明らかにすべきではありません。スポーツには5種類、科学には3種類あります。そこで何が起こっているのかわからないので、php に追加して型を含めるという次のステップに進むことはできません。

4

3 に答える 3

1

メインカテゴリとサブカテゴリの2つのリストが必要だと思います。そうであれば、次のようにすることができます

  1. データベースからカテゴリを取得し、サブカテゴリ リストを空にしてリスト 1 に表示します
  2. カテゴリの変更時に、jquery または javascript を使用してフォームを送信します
  3. 投稿されたカテゴリに基づいて、データベースからサブカテゴリを取得し、リスト 2 に表示し、リスト 1 の属性を選択して、投稿されたカテゴリの値に基づいて選択されたものにします。

フォームを送信する代わりに ajax を使用することもできます。

于 2012-07-30T09:07:47.300 に答える
1

types テーブルに id_cat があると思います。次に、SQL JOINを使用する必要があります。

于 2012-07-30T01:52:25.850 に答える
1

私はあなたのためのコードを持っていませんが、クエリは次のいずれかになり
ます。
または:
カテゴリから個別のカテゴリを選択します。
次に、各カテゴリを個別にクエリします。
単一のクエリの方が効率的だと思います。

于 2012-07-30T01:56:12.737 に答える