製品のリストを表示する必要があります。2 つのテーブルがあり、1 つは で、categories
もう 1 つはすべてでproducts
.
そして、この構造を表示する必要があります:
list 1.
write - categories_id from categories table
write - list of products with the above categories_id from products table
end of list
next list2.
write - next categories_id from categories table
write - list of products with the above list2 categories_id from products table
end of list
等々...
したがって、categorys からすべてのcategories_id を選択し、products テーブルからすべての一致するcategories_ids を選択する必要があります。
これを行う最善の方法は何ですか?すべての製品を選択する必要がcategories
ありますか?
カテゴリ テーブルに 4 つのカテゴリがあるとします。したがって、各リストに 10 個の製品を含む 4 つのリストが表示されるはずです。私が持っているSQLは次のようになります。
sql3 = "SELECT * from categories c inner join products p on c.categories_id = p.categories_id where p.userid ='1' group by c.categories_id order by c.categories_id;"
and the do until looks like:
do until rs.eof
rs("categoriName")
rs("productsName")
rs.movenext
loop
しかし、これにより、それぞれに 1 つの製品しかない 4 つのリストが生成されますか?
OK、私のテーブルは次のようになります。
categories table:
categories_id, userId, categoriesName
products table:
products_id, user_id, categories_id, productsName
And the do:
<% do until rs.eof %>
Categori: <%=rs("categoriesName")%>
Product:<%=rs("productsName")%>
<% rs.movenext
loop %>
リストは次のようになります。
(list 1)
Categori: Phones
Product: iPhone
Product: Samsung
Product: Nokia
(list 2)
Categori: Tvs
Product: Philips
Product: Sony
Product: Sharp
たぶん、1回の選択でこれをやろうとしているのが間違っていると思っているだけかもしれません.2回の選択が必要なのかもしれません.最初にカテゴリ名を選択してループし、そのループ内で製品を選択します。