Алфавитное меню Codeigniter

Я хочу создать простое алфавитное меню, и все выглядит так, как будто я близок к тому, что хочу, но мне нужно удалить повторяющиеся буквы:

в модели я использую:

public function svi_izvodjaci_za_izbornik()
{
    $this->db->order_by('naziv', 'ASC');

    $query = $this->db->get('izvodjac');

    return $query->result();
}

в контроллере я использую:

public function index()
{
    $data['izvodjaci_za_izbornik'] = $this->pocetak_model->svi_izvodjaci_za_izbornik();

    $this->load->view('zaglavlje');
    $this->load->view('pocetak', $data);
    $this->load->view('podnozje');
}

в поле зрения я использую:

<?php foreach ($izvodjaci_za_izbornik as $izvodjac_za_izbornik): ?>

<a href="#"><?php echo mb_substr($izvodjac_za_izbornik->naziv, 0, 1, 'utf-8'); ?></a>

<?php endforeach; ?>

и результат:

меню

Также я планирую передать это письмо методу контроллера, который затем вызовет метод модели, который выглядит примерно так:

public function izvodjaci_abecedno($letter)
{
    $this->db->like('naziv', $letter, 'after');
    $query = $this->db->get('izvodjac');

    return $query->result(); 
}

Спасибо за помощь.


person Zoran Koprek    schedule 12.02.2017    source источник
comment
Почему вы загружаете меню из своей базы данных? меню довольно статичны по своей природе, я бы предложил просто закодировать их, возможно, сохранить их непосредственно в объекте и создать экземпляр этого объекта, когда вы хотите его использовать... таким образом вы редактируете только 1 файл, содержащий все меню ...   -  person Brian Ramsey    schedule 12.02.2017
comment
да, когда я думаю об этом, это имеет смысл, позвольте мне попробовать это так, спасибо   -  person Zoran Koprek    schedule 12.02.2017


Ответы (1)


Удалите повторяющиеся алфавиты, подобные этому. Используйте $this->db->distinct();

В вашей Модели

  <?php
 public function svi_izvodjaci_za_izbornik()
    {
        $this->db->distinct();
        $this->db->select('naziv');//if you nedd to select more columns name seperate by comma like col1,col2,col3,..
        $this->db->from('izvodjac');
        $this->db->order_by('naziv', 'ASC');

        $query = $this->db->get();

        return $query->result();
    }
person Hikmat Sijapati    schedule 12.02.2017
comment
спасибо, если я понимаю, что это удаляет повторяющиеся значения в столбце назив, но у меня там нет дубликатов, это просто значения, начинающиеся с одной и той же буквы, поэтому мне нужно отфильтровать отдельные только первую букву, а не все значение столбца назив. Надеюсь, я понял это правильно - person Zoran Koprek; 12.02.2017