-1

私は 2 つのテーブルを持ってます。Categories テーブルには次のものが含まれますcat_id, cat_name, Cat_desc. Products テーブルには次のものが含まれますproduct_id, product_name, Product_desc and cat_id

すべてのカテゴリを見出しとして表示し、各カテゴリの見出しの下に 4 つの関連製品のみを一覧表示したいと考えています。

例:

Category1
 Product 1, Product 2, product 3


Category 2
  Product 4, product 5

これをどのようにスクリプト化できますか。私は初心者です pls は助けて

4

4 に答える 4

3

わかりました、これはあなたの質問で大丈夫だと思います。これを試して...

$sql = "SELECT cat_id, cat_name FROM  categories ";
$query = mysql_query($sql);
while($result = mysql_fetch_array($query)){
   echo $result['cat_name'];
   $sql1 = "SELECT * FROM products WHERE cat_id=".$result['cat_id'];
   $query1 = mysql_query($sql1);
   while($row  = mysql_fetch_array($query1)){
      echo $row['product_name'];
   }
}

そして、これを参照してくださいhttp://php.net/manual/en/book.mysql.php

于 2012-11-15T09:44:32.497 に答える
1

Nytramの投稿の助けを借りて、コードを変更するだけです。したがって、この答えは99%がNytramのおかげです。

    $sql = "SELECT cat_id, cat_name FROM  categories ";
$query = mysql_query($sql);
while($result = mysql_fetch_array($query)){
   echo $result['cat_name'];

そして変更された行は次のとおりです。

$sql1 = "SELECT * FROM products WHERE cat_id='".$result['cat_id']."' LIMIT 0,10";

次に、同じコードを使用します

 $query1 = mysql_query($sql1);
       while($row  = mysql_fetch_array($query1)){
          echo $row['product_name'];
       }
    }
于 2012-11-15T13:37:18.600 に答える
0

これを試して ::

Select * from 

categories c left join products p on (p.catId = c.catId)

order by c.catId
于 2012-11-15T09:34:43.737 に答える
0

このチュートリアルを参照できます。このために再帰関数を実行する必要があります。このカテゴリ ツリー
を呼び出します。

http://codeassembly.com/How-to-display-inifinit-depth-expandable-categories-using-php-and-javascript/

于 2012-11-15T09:37:01.687 に答える