Tạo Filter Trong Backend

Thảo luận trong 'PHP & MYSQL' bắt đầu bởi suhoklabienkho, 27/12/13.

  1. suhoklabienkho

    suhoklabienkho Mới tham gia

    Bài viết:
    1
    Likes :
    0
    Chào các bạn, mình mới lập trình joomla.
    Hôm nay mình muốn hỏi một vấn đề trong việc phát triển component.
    Trong cơ sở dữ liệu mình có hai bảng
    + bảng 1: gồm 2 trường: id, loai (trường "loai" gồm: tạp chí quốc tế, tạp chí quốc gia)
    + bảng 2: gồm 1 số trường, và có trường "loại" foreign với bảng 1 trên.

    Trong trang backend, mình hiện lên các record ở bảng 2 (rất nhiều record nhưng có "loai" chỉ là tạp chí quốc tế, tạp chí quốc gia).
    Mình muốn tạo một filter để lọc (tạp chí quốc tế hoặc tạp chí quốc gia) giúp mình dễ dàng chỉnh sửa các record từ backend. (Các bạn có thể xem ảnh để hình dung được trực quan hơn)

    Ai đã từng làm về vấn đề tương tự như này có thể hướng dẫn mình chi tiết được ko ? Mình cảm ơn rất nhiều.

    [​IMG]
     
  2. Mai Vũ

    Mai Vũ Mới tham gia

    Bài viết:
    28
    Likes :
    15
    1: lấy dữ liệu từ bảng loại tạp chí sau đó đưa vào option với selectbox.
    Vd:
    <select name="loaitapchi">
    <option value="1">Quốc tế</option>
    <option value="2">Quốc gia</option>
    </select>

    - Phần value option là ID field trong bảng loại.

    -- Nếu component của bạn viết theo mô hình MVC thì (nếu component không được viết theo MVC thì bạn có thể dừng tại đây và bắt đầu tìm hiểu MVC đi nhé ;)) trong model của view hiện tại phần query lấy dữ liệu bạn thay đổi một chút:

    VD:
    PHP:
    $query $this->_db->getQuery(true);
    $query->select('*')->from('#__tapchi');
    $app JFactory::getApplication();
    $loaiID $app->getUserStateFromRequest('component.view.tenview''loaitapchi'0'int');
    if(
    $loai){
                 
    $query->where('loadID = '.$loadID);
    }
    $this->_db->setQuery($query);
    return 
    $this->_db->loadObjectList();
     
comments powered by Disqus
: component, filter

Chia sẻ trang này