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

    Buồn quá đi ! [PHP Menu 2 cấp Codeigniter] Giúp mình tạo menu 2 cấp lấy trong database !

    Mình có 2 cái bảng
    Bảng Category:
    | Id | Name | Title | Date

    Bảng Sub_category:
    | ID | Parent_id | Name | Title | Date |


    Giờ mình muốn lấy 2 cái bảng này làm menu 2 cấp.
    - Thằng Category sẽ làm Menu chính.
    - Nếu Parent_id của thằng Sub_category mà trùng với Id của thằng Category thì sẽ làm menu con của thằng Cateogry.

    Ai biết giúp mình nhé. Có thế viết mình cái điều khiển của thằng này thì tốt.
    Quote Quote

  2. #2
    Tham gia
    20-12-2011
    Location
    Tâm Huyết .Com
    Bài viết
    718
    Like
    26
    Thanked 119 Times in 91 Posts
    Mình không làm như bạn trong trường hợp này..
    Lúc này mình chỉ cần 1 table thôi

    ID | Parent_id | Name | Title | Date

    Câu lệnh sẽ theo logic sau

    SELECT * FROM Table WHERE Parent_id == 0 // lấy nhưng Category cha, tức là Parent_id == 0
    While() // chạy vòng lặp với category có Parent_id == 0
    {
    echo Name;
    $ID = id; // lấy biến ID, biến này sẽ chính là Parent_id của những thằng subcate
    SELECT * FROM Table WHERE Parent_id == $id;
    while{
    echo Name;
    }
    }

    Mình k nhớ chính xác, hoặc có cách tối ưu hơn, nhưng đại loại là như thế.
    Hoặc bạn tìm seft join, sẽ tốt hơn nhé
    realkai.com | Mạng quảng cáo hiển thị

  3. #3
    Tham gia
    12-05-2013
    Bài viết
    112
    Like
    0
    Thanked 7 Times in 7 Posts
    cách này là cách cơ bản và dễ sử dụng
    code mạch lạc dễ hiểu
    sẽ tải nặng cho server vì phải kéo query 2 lần
    có 1 cách khác là bạn có thể dùng php kết hợp với javascript
    đơn giản nhất trong các cách đó thì là query tất cả các record order bi parent_id
    bạn có các lớp khác nhau là parent_id=0 và các lớp khác
    sau đó dùng vòng lập để tách 2 lớp ra rồi căn cứ vào cái ID để xác định sub và nối nó vào thành 1 cuỗi rồi in ra

  4. #4
    Tham gia
    21-02-2011
    Bài viết
    29
    Like
    7
    Thanked 0 Times in 0 Posts
    Cảm ơn moj người đã chỉ giáo mình làm được rồi.

  5. #5
    Tham gia
    18-11-2003
    Location
    hcm
    Bài viết
    467
    Like
    7
    Thanked 46 Times in 33 Posts

    Viết đệ quy

    Phải viết đệ quy,chứ sau này gặp trường hợp hơn 2 cấp thì chỉ cần khai báo lại số cấp là được,ko phải viết lại code.

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
  •