Hiển thị kết quả từ 1 đến 7 / 7
  1. #1
    Tham gia
    02-03-2009
    Bài viết
    6
    Like
    0
    Thanked 0 Times in 0 Posts

    Thông tin Phân cấp danh mục sản phẩm trong asp.net.

    Xin chào các bạn. Mình đang cbị làm đồ án tốt nghiệp bằng asp.net. Mình có một vấn đề vướng mắc mà chưa giải quyết được, mong các bạn giúp đỡ mình, đó là phân cấp danh mục sản phẩm . Trang web của mình làm về sản phẩm thời trang, thầy giáo mình yêu cầu phải nhân cấp sản phẩm làm 2 cấp. Tức là trong quần thì phân ra làm quần jean, quần âu, quần short,...., trong áo thì có áo sơ mi, áo khoác, vest,....Bạn nào biết xin chỉ giáo giúp mình cách tạo menu phân cấp và load data vào menu đó. Mong sớm nhận được câu trả lời của các bạn. Thanks !
    Quote Quote

  2. #2
    Tham gia
    09-02-2009
    Bài viết
    216
    Like
    3
    Thanked 8 Times in 7 Posts
    chào bạn, bạn mail vào khanhthuy46k2dhv@gmail.com mình giúp cho.

  3. #3
    Tham gia
    04-07-2009
    Bài viết
    854
    Like
    0
    Thanked 7 Times in 7 Posts
    tao 1 bảng là categories, 1 bảng là sub_categories, 1 bảng là products

    quan hệ categories # sub_categories là 1 nhiều
    quan hệ sub_categories # products là 1 nhiều

    [=========> Bổ sung bài viết <=========]

    trên đây là trường hợp phân loại chỉ cần 2 cấp (fixed). Nếu mà có thêm yêu cầu mở rộng ko biết trước phân theo bbhieu cấp thì thiết kế theo quan hệ đệ quy

    categories(cate_id, cate_name, cate_parent)
    với cate_parent là cấp cha trực tiếp
    category nào có cate_parent = 0 hay is null (tùy cách tổ chức), thì đó là cấp gốc (mức đầu tiên)

    khi truy vấn dạng quan hệ đệ quy này thì bạn dùng self-join, đặt alias cho table để query
    Được sửa bởi freshgraduate09 lúc 13:40 ngày 27-01-2011 Reason: Bổ sung bài viết

  4. #4
    Tham gia
    09-10-2003
    Location
    HN
    Bài viết
    853
    Like
    0
    Thanked 6 Times in 6 Posts
    @freshgraduate09: có vấn đề thắc mắc mà chưa xử lý dc, nhờ đồng chí xem jùm luôn.
    Khi xử lý mối quan hệ như trên có nghĩa là:
    - 1 product có thể nằm trong nhiều danh mục.
    - Một danh mục có thể chứa nhiều product
    Vậy khi truy vấn tìm sản phầm vừa thuộc category A vừa thuộc category B thì làm như thế nào (câu lệnh SQL)

  5. #5
    Tham gia
    15-01-2007
    Location
    Hà Nội
    Bài viết
    73
    Like
    0
    Thanked 0 Times in 0 Posts
    Quote Được gửi bởi duongdragon*** View Post
    @freshgraduate09: có vấn đề thắc mắc mà chưa xử lý dc, nhờ đồng chí xem jùm luôn.
    Khi xử lý mối quan hệ như trên có nghĩa là:
    - 1 product có thể nằm trong nhiều danh mục.
    - Một danh mục có thể chứa nhiều product
    Vậy khi truy vấn tìm sản phầm vừa thuộc category A vừa thuộc category B thì làm như thế nào (câu lệnh SQL)
    Cái này thì chịu , món này potay lun.

  6. #6
    Tham gia
    15-03-2010
    Bài viết
    1,562
    Like
    84
    Thanked 1,571 Times in 860 Posts
    @duongdragon***: nếu tôi hiểu không lầm thì câu hỏi của bạn chỉ liên quan đến product-category chứ không thấy liên quan đến subcategory

    Theo lý thuyết, quan hệ N-N được diễn tả bằng bảng nối (intermediate table)

    MonHang ( maHang, ....)
    DanhMuc ( maDanhMuc, ....)
    HangDM ( maHang, maDanhMuc )

    Tìm các MonHang được liệt kê ra trong cả hai DanhMuc 'A' và 'B'

    Cách dễ nhất là tự nối bảng HangDM với chính nó:

    SELECT a.maHang, a.maDanhMuc dmA, b.maDanhMuc dmB FROM
    (SELECT * FROM HangDM WHERE maDanhMyc = 'A') a
    INNER JOIN
    (SELECT * FROM HangDM WHERE maDanhMyc = 'B') b
    ON a.maHang = b.maHang

  7. #7
    Tham gia
    15-01-2007
    Location
    Hà Nội
    Bài viết
    73
    Like
    0
    Thanked 0 Times in 0 Posts
    Quote Được gửi bởi megaownage View Post
    @duongdragon***: nếu tôi hiểu không lầm thì câu hỏi của bạn chỉ liên quan đến product-category chứ không thấy liên quan đến subcategory

    Theo lý thuyết, quan hệ N-N được diễn tả bằng bảng nối (intermediate table)

    MonHang ( maHang, ....)
    DanhMuc ( maDanhMuc, ....)
    HangDM ( maHang, maDanhMuc )

    Tìm các MonHang được liệt kê ra trong cả hai DanhMuc 'A' và 'B'

    Cách dễ nhất là tự nối bảng HangDM với chính nó:

    SELECT a.maHang, a.maDanhMuc dmA, b.maDanhMuc dmB FROM
    (SELECT * FROM HangDM WHERE maDanhMyc = 'A') a
    INNER JOIN
    (SELECT * FROM HangDM WHERE maDanhMyc = 'B') b
    ON a.maHang = b.maHang
    Hi hi, tốt nhất là làm 1 cái bảng thôi, chứa hết nó vào, đỡ mất công join =))

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •