2012-01-16 21 views
7

Birinin bana yardım edip edemeyeceğini merak ediyorum. Veritabanından seçenekler doldurduğum bir form_dropdown var. Listenin en üstünde bir "Lütfen Seç" değerini eklemek istiyorum, ancak veritabanına eklemeden nasıl yapılacağını anlayamıyorum. aşağıdaki gibiCodeIgniter - Bir form_dropdown için varsayılan değer ekleme

Benim kodudur: Önce geri

cevap

11

yazmak için başka bir yolu da olurdu: form_dropdown fonk için

$form .= '<option value =0 >...</option>'; 

:

function populatedropdown() 
{ 
    $query = $this->db->query('SELECT * FROM '.$this->table_name.' WHERE active=1 ORDER BY brand'); 

    if ($query->num_rows() > 0) { 
     $dropdowns = $query->result(); 

     $dropDownList[''] = 'Please Select'; // default selection item 
     foreach($dropdowns as $dropdown) { 
      $dropDownList[$dropdown->brand] = $dropdown->brand; 
     } 

     return $dropDownList; 
    } else { 
     return false;  // return false if no items for dropdown 
    } 
} 
+2

Anahtar olarak '''' kullanmanız gerekiyor ya da '0 'form değerinden geçirilecek. yani $ dropDownList [''] = 'Lütfen Seçiniz'; 'Bunu istemediğiniz sürece ..? –

+0

@Madmartigan, teşekkürler, bitti, ayrıca satır numara kontrolünü dahil etmek için cevabımı güncelledi. – Jakub

+0

Buna 'result()' olarak ihtiyacınız yok, her zaman bir dizi döndürür. Bu anlamsız. Geri dönen false, bir dizi döndürmesi gereken bir işlev için iyi bir fikir olmayabilir, boş bir dizi daha uygun olabilir. Yani +1 ve -1: / –

7

Sadece diziye ekleyin.

function populatedropdown() 
{ 
    $query = $this->db->query('SELECT * FROM '.$this->table_name.' WHERE active=1 ORDER BY brand'); 
    $dropdowns = $query->result(); 

    foreach($dropdowns as $dropdown) { 
     $dropDownList[$dropdown->brand] = $dropdown->brand; 
    } 
    $finalDropDown = array_merge(array('' => 'Please Select'), $dropDownList); 

    return $finalDropDown; 
} 
+0

+1 bunu yapmanın en iyi ve en kolay yolu – Jakub

+1

Daha da iyisi, '$ dropDownList = array ('' => 'Lütfen Seçiniz'); Artı, bir işlevi çağırmamanın minik küçültülmesi. –

+0

+1 - Ayrıca, boş sonucu veritabanından korumak ve bir seçimi zorlamak için (yalnızca gerekirse) validasyonu kullanmanız yeterlidir. – swatkins

0

form_helper.php değiştirmek ve benzeri şey eklemek olasılığı da vardır . Ancak, varsayılan olarak ancak ikinci form formunda seçmem.

Ancak sorun, genel olarak aşağı inmemesi gereken çekirdek dosyaları değiştirmenizdir.

İlgili konular